[英]How can I run gradle apps in background in Gitlab job (nohup is not working in gitlab)
我想运行几个 gradle 应用程序,它们将作为后台进程运行大约 5 分钟(在调用 gradle 应用程序后将运行更多命令,然后工作将完成)。 他们使用 nohup 在我的 ubuntu 机器上执行得很好:
nohup gradle app1 > nohup1.out 2>&1 &
nohup gradle app2 > nohup2.out 2>&1 &
...
运行这些命令不需要按中断按钮或回车,因此我可以在后台连续运行多个 gradle 应用程序并开始与它们交互。
虽然今天我了解到 Gitlab 运行器取消了所有子进程,从而使 nohup 在 Gitlab CI 作业中无用。
是否有解决方法,以便我可以在后台运行 Gitlab 作业中的多个 gradle 作业? 我尝试使用工具at但它没有像nohup那样带来功能。
要后台作业,您不需要使用nohup
,您可以简单地在命令末尾使用&
来“后台”它。
举个简单的例子:
test_job:
image: python:3.9-slim
script:
- python -m http.server & # Start a server on port 8000 in the background
- apt update && apt install -y curl
- echo "contacting background server..."
- curl http://localhost:8000
这有效。 在最后一个script:
步骤运行后,该作业将退出(也关闭后台作业)。
在尝试访问它们之前,请确保为您的应用程序提供足够的启动时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.