【问题标题】:Keeping a build process running after Jenkins job在 Jenkins 工作后保持构建过程运行
【发布时间】:2015-04-07 22:44:56
【问题描述】:

我正在尝试在 Jenkins 作业完成后保持 Web 进程运行。

我查看了 ProcessTreeKiller 并尝试使用 BuildId 如下,但它似乎不起作用:

BUILD_ID=dontKillMe /usr/apache/bin/httpd

我的命令(我想让它继续运行):

rails s &

我该如何解决这个问题?

【问题讨论】:

    标签: apache jenkins configuration


    【解决方案1】:

    您将其放入您的 Execute Shell 构建步骤中,而不是作为 jenkins 构建过程变量(这是您在屏幕截图中使用 EnvInject 插件所做的)

    因此,如果您尝试运行 rails &,请执行以下操作:
    BUILD_ID=dontKillMe rails &

    【讨论】:

    • 我尝试在“node app.js”行之前添加“BUILD_ID=dontKillMe node app.js”,但我没有工作:(
    • @johnlowvale 不确定是否有错字,但您是否在末尾包含了 `&`?
    • 它仍然不起作用,所以我开始为我的 nodejs 服务器使用 'forever' 和 'pm2'
    【解决方案2】:

    尝试:

    (
      set -e
      export BUILD_ID=dontKillMe
      export JENKINS_NODE_COOKIE=dontKillMe
      rails &
    ) &
    

    【讨论】:

      【解决方案3】:

      通过

      启动jenkin服务器
      java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war --httpPort=8090
      

      要在后台运行的 jenkinfile 中的代码

        stage("Starting API Server"){
          withEnv(['BUILD_ID=dontkill']) {
               sh 'mvn exec:java -Dexec.mainClass="APPLICATION_SERVER.App" & '
              }
         }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-07
        • 1970-01-01
        • 2012-03-20
        • 2018-08-29
        • 1970-01-01
        • 2012-06-21
        • 1970-01-01
        • 2016-01-15
        相关资源
        最近更新 更多