簡體   English   中英

將進程 ID 寫入 Gitlab CI/CD 腳本中的文件

[英]Write process id to file in Gitlab CI/CD script

在使用 Gitlab CI/CD 作業構建前端和后端后,我嘗試在服務器上復制可執行文件並重新運行后端服務器。

預期行為:使用文件 /var/run/backend.pid 中的 pid 殺死進程,然后在后台運行新進程並將新 pid 寫入同一文件。

實際行為:一切都很好,但文件 /var/run/backend.pid 為空(實際上只有換行符)

script:  
  - ssh root@draft.<...project name...>.tech "pkill -F /var/run/<...project name...>-backend.pid;rm /var/run/<...project name...>-backend.pid;/var/www/<...project name...>/backend/bin/backend > /var/log/<...project name...>-backend.log 2>&1 & disown;echo $! > /var/run/<...project name...>-backend.pid"

請幫助我進行部署。 我不知道有什么問題,因為本地相同的命令運行良好。

通過僅運行命令的第一部分來嘗試檢查文件是否首先創建:

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文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM