【问题标题】:TeamCity - start tomcatTeamCity - 启动 tomcat
【发布时间】:2016-10-07 01:39:33
【问题描述】:

我正在尝试使用 teamcity 部署构建步骤启动 tomcat。以下步骤在直接运行时都没有问题,但在 teamcity 步骤中不起作用。 java 窗口出现并关闭,就好像构建步骤在完成后会杀死所有子进程一样。我已经尝试了以下所有方法:

批处理(命令行在源代码中运行批处理,或直接在 teamcity 脚本、命令行和进程构建类型中运行):

call "%env.CATALINA_HOME%\bin\startup.bat"
start "%env.CATALINA_HOME%\bin\startup.bat"
cmd /k "%env.CATALINA_HOME%\bin\startup.bat"
start "DEV server" "%env.CATALINA_HOME%\bin\startup.bat"

powershell:

# wasnt sure if env var was being carried over, not relevant 
$env:CATALINA_HOME = %env.CATALINA_HOME%
Start-Process "%env.CATALINA_HOME%\bin\startup.bat"

有没有办法告诉 TeamCity 10 构建步骤“嘿,让任何开始运行的东西都离开”?

CATALINA_HOME 是 teamcity 参数(env.CATALINA_HOME)中的环境变量,设置为“C:\apache-tomcat”是正确的。

一些附加信息:TC 服务器和代理作为用户帐户运行,用户帐户也可以访问所有文件夹(并且是本地管理员)。

【问题讨论】:

  • 你试过看一下tomcat的日志吗? ( C:\apache-tomcat\logs*.log 文件)
  • 是的,它看起来和正常启动一样,只是被截断了。没有错误

标签: batch-file tomcat deployment teamcity continuous-deployment


【解决方案1】:

在 tomcat bin\setenv.bat 中,我有 CATALINA_OPTS -XmX 和 -Xms 参数,它们非常大,需要 64 位 java。

在执行此特定构建参数时(我建议调试时,它会阻止 TC 构建)

%env.CATALINA_HOME%\bin\catalina.bat

(argument: run)

然后我得到一个退出代码 1 构建失败,并带有一条有用的错误消息(但没有 tomcat 日志):

[08:25:24]Error: Could not create the Java Virtual Machine.
[08:25:24]Error: A fatal exception has occurred. Program will exit.
[08:25:24]Invalid maximum heap size: -Xmx32768m
[08:25:24]The specified size exceeds the maximum representable size.
[08:25:24]Process exited with code 1

如果您需要大型 Xmx 和 Xms 的子进程,执行构建的 BUILD AGENT 也需要从 64 位运行!就我而言,我有,例如

C:\Teamcity_BuildAgent_Deploy\jre

我根据 TC 文档也复制粘贴了我的 64 位 jre 安装,然后它可以启动具有大 Xmx 和 Xms 的进程。我没有调整 TEAMCITY_AGENT_MEM_OPTS 或任何批次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 2013-12-07
    • 1970-01-01
    • 2016-11-03
    相关资源
    最近更新 更多