jenkins在pipline中运行后台命令

需求

在jenkin中启动java程序或者python程序的时候,希望程序在后台执行,并在jenkins构建完成之后继续执行。
在工作中有两个地方我碰到了这种需求

在shell script输入框中
pipline 的 sh 命令中
解决方式

情况一:

在shell script输入框中的最后一行加入

BUILD_ID=dontKillMe
情况二:

在pipline 的 sh 命令中加入JENKINS_NODE_COOKIE=dontKillMe

例:
sh ‘JENKINS_NODE_COOKIE=dontKillMe nohup python3 -u /application/Rcrontab_web/manage.py runserver 0.0.0.0:8000 &‘

原文地址:https://www.cnblogs.com/leffss/p/11163806.html

时间: 2024-11-06 09:53:23

jenkins在pipline中运行后台命令的相关文章

PowerShell中运行Bcdedit命令出错

见下图,当我尝试在PowerShell执行bcdedit删除其中一个启动项时,出现错误:而在CMD中运行时则正常. 执行的命令是: bcdedit /delete {f33a2785-b94a-11e3-a6eb-00e0661386c5} /cleanup 出错的原因: (1)PowerShell中将{}中的内容当作计算式对待: (2)CMD中将{-}整体看作字符: 事实上{f33a2785-b94a-11e3-a6eb-00e0661386c5}就是字符: 由此衍生出: (1)PowerSh

MATLAB2014a搭配Notebook实现在Word2013中运行MATLAB命令

测试环境: MATLAB2014a_64bit; Windows8.1_64bit; office2013_64bit(word2013); 设置方法: 在MATLAB指令窗中运行以下指令,配置过程将自动进行 notebook  –setup 假如指令窗中出现如下信息,就表示配置成功. >> notebook -setup Welcome to the utility for setting up the MATLAB Notebook for interfacing MATLAB to Mi

delphi 在线程中运行控制台命令(console)

在编程开发的时候,我们时常会调用windows本身的功能,如:检测网络通断,连接无线wifi等. 虽然,用 windows api 操作可以完美地完成这些操作,但是,函数参数太难了.令人望而生畏,不是普通开发者能办到的. 但是,我们可以用一种变通的方法,来解决这个问题,就是使用控制台命令行,如 ping , netsh 等. 我在网络上,搜索到了delphi调用命令行,并返回接收返回的结果(字符串信息)代码,但这些代码仅仅只是功能实现了,离实用性还差一步. 所以做了如下改进: 1.将 cmd 运

C# 在EF中直接运行SQL命令

相信不少使用EF的同志们已经知道如何在EF中运行SQL命令了.我在这里简单总结下,希望对大家学习EF有所帮助! 在 EF第一个版本(.NET 3.5 SP1)中,我们只能通过将ObjectContext.Connection转换为EntityConnection,再把 EntityConnection.StoreConnection转换为SqlConnection.有了这个SqlConnection,我们再创建 SqlCommand便能顺利运行SQL命令了.(个人觉得其实很烦,呵呵) 例如: E

在 Docker 容器中运行应用程序

案例说明 运行 3 个容器,实现对网站的监控. 三个容器的说明: 容器 web: 创建自 nginx 映像,使用 80 端口,运行于后台,实现 web 服务. 容器 mailer: 该容器中运行一个 mailer 程序,运行于后台,当接收到事件后会向管理员发送邮件. 容器 agent: 该容器运行一个 watcher 程序,以交互模式运行,用于不断地监测 web 服务的运行情况,一旦出现故障会立即向 mailer 容器发送消息. 创建容器 创建并运行 web 容器 $ docker run --

运行常用命令

Windows系统中运行常用命令 1.explorer.exe    资源管理器 2.iexplore.exe    IE浏览器 3.services.msc    系统服务 4.regedit.exe     注册表 5.mspaint         画图程序 6.snippingtool    截图工具 7.taskmgr         任务管理器 8.mstsc           远程桌面连接 9.secpol.msc      本地安全策略 10.gpedit.msc     本地

java运行shell命令,chmod 777 xxx,改变权限无效的解决的方法。

在java程序中运行shell命令,改变文件的权限.能够在命令行中运行 chmod 777 <span style="font-family: Arial, Helvetica, sans-serif;">/data/misc/123.sh"</span> 来改变权限,可是在java代码中运行这个命令时使用 Runtime.getRuntime().exec("chmod 777 /data/misc/123.sh"): 无效,使用

在docker容器中运行hello world!

在docker容器中运行hello world! docker容器可以理解为在沙盒中运行的进程.这个沙盒包含了该进程运行所必须的资源,包括文件系统.系统类库.shell 环境等等.但这个沙盒默认是不会运行任何程序的.你需要在沙盒中运行一个进程来启动某一个容器.这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止. 目标: 在我们刚刚下载的镜像中输出"hello word".为了达到这个目的,我们需要在这个容器中运行"echo"命令,输出"

《python标准库》--subprocess &lt;一、运行外部命令&gt;

作用:创建附加进程,并与之通信.如果一个程序需要生产或利用文本,这个模块尤其有帮助,因为这个API支持通过新进程的标准输入和输出通道来回传递数据. subprocess模块提供了一种一致的方法来创建和处理附加进程.与标准库中的其他模块相比,它提供了一个更高级的接口,用以替换os.system().os.spawnv().os和popen2模块中的popen()函数,以及commands(). subprocess模块定义了一个类Popen,还定义了使用这个类的一些包装器函数.Popen的构造函数