在Gitlab CI / CD脚本中将进程ID写入文件

时间:2019-11-12 01:49:54

标签: linux bash gitlab-ci

使用Gitlab CI / CD作业构建前端和后端后,我尝试在服务器上复制可执行文件并重新运行后端服务器。

预期的行为:使用/var/run/backend.pid文件中的pid杀死进程,然后在后台运行新的一个进程并将新的pid写入同一文件。

实际行为:一切正常,但是文件/var/run/backend.pid为空(实际上只是换行符)

Foo*

请帮助我进行部署。我不知道有什么错,因为本地相同的命令效果很好。

1 个答案:

答案 0 :(得分:0)

仅通过运行命令的第一部分来尝试检查文件是否首先创建:

ssh root@draft.<...project name...>.tech  "pkill -F /var/run/<...project name...>-backend.pid"

这将验证:

  • gitlab-ci使用能够执行ssh root@draft.<...project name...>.tech
  • 的帐户运行
  • 并且pkill命令实际上会生成一个非空的backend.pid文件