gpt4 book ai didi

maven - 如何在 Jenkins 中创建一个后台进程?设置 BUILD_ID 并使用 nohup 似乎不起作用

转载 作者:行者123 更新时间:2023-12-01 11:29:18 28 4
gpt4 key购买 nike

我在 Jenkins(版本 1.578)中有一份 maven 工作。下面的 Maven 片段(用 Groovy 代码编写的 Ant 脚本)启动了一个 Fuse 服务器,我无法让 Jenkins 在作业完成后让它继续运行。

<profile>
<id>start-fuse</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<executions>
<execution>
<id>start-fuse</id>
<phase>integration-test</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
<![CDATA[
def fuseBinDirectory = '${fuse.dir}/bin'
ant.exec(executable:'bash', dir:fuseBinDirectory, failonerror:true, osfamily:'unix') {
ant.env(key:'BUILD_ID',value:'DO_NOT_STOP_MY_PROCESS_JENKINS')
ant.env(key:'KARAF_OPTS',value:'${KARAF_OPTS}')
ant.arg(value:"-c")
ant.arg(value:"nohup ./start ${fuse.start.parameters} </dev/null >> nohup.out 2>&1&")
}
]]>
</source>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>

我做错了什么?

我怎样才能在 Windows 下 fork 一个类似的 Fuse 进程,这样 Jenkins 就不会杀死它?

更新 - 解决方案

添加接受的答案中提到的 4 个 env 条目在 Windows 和 Linux 上都有效。所以无论你从事哪种工作类型,你都可以拥有这样的东西:

ant.exec(executable:'sh', dir:fuseBinDirectory, failonerror:true, osfamily:'unix') {
ant.env(key:'BUILD_ID',value:'DO_NOT_STOP_MY_PROCESS_JENKINS')
ant.env(key:'HUDSON_SERVER_COOKIE',value:'DO_NOT_STOP_MY_PROCESS_JENKINS')
ant.env(key:'JENKINS_COOKIE',value:'DO_NOT_STOP_MY_PROCESS_JENKINS')
ant.env(key:'JENKINS_SERVER_COOKIE',value:'DO_NOT_STOP_MY_PROCESS_JENKINS')
ant.env(key:'HUDSON_COOKIE',value:'DO_NOT_STOP_MY_PROCESS_JENKINS')
ant.env(key:'KARAF_OPTS',value:'${KARAF_OPTS}')
ant.arg(line:'-c "./start ${fuse.start.parameters}"')
}

Nohup 似乎完全没有必要。

最佳答案

如果您注意到用户“mdp”在 this 中的评论页面,您会注意到,对于使用自由式模板创建的作业,BUILD_ID 确实有效。还有许多其他人面临类似的问题。只有在非自由式工作时才会出现此类问题。

或者,还应检查取消设置以下变量:HUDSON_COOKIE、HUDSON_SERVER_COOKIE、JENKINS_COOKIE 或 JENKINS_SERVER_COOKIE,正如 this 中少数人(评论部分)所建议的那样链接。

关于maven - 如何在 Jenkins 中创建一个后台进程?设置 BUILD_ID 并使用 nohup 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25639678/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com