GitLab-CI:运行Python脚本并退出(VPS)

x33g5p2x  于 2022-12-05  发布在  Python
关注(0)|答案(1)|浏览(304)

我正在尝试在GitLab上做一个CI脚本,它连接到我的VPS,Git Pull,然后运行python脚本并退出,同时让我的python脚本24/7运行(直到下一个管道运行/提交)。
我怎样才能让我的python脚本全天候运行呢?

script:
    - 'apt-get update -y && apt-get install openssh-client -y && apt-get install sshpass -y '
    - sshpass -p "password" ssh -o StrictHostKeyChecking=no root@host "cd repo/ && git pull && python3 main.py"

这是我当前的脚本,但是,当运行main.py时,管道处于不确定状态,因为脚本是永久运行的。
如何使管道脚本运行脚本并退出,将其保留在tmux或类似的位置?

snz8szmq

snz8szmq1#

首先检查这是否是tty分配问题,如in here

ssh -t -o ...
    ^^

还可以考虑只调用一个脚本(执行cdgit pullpython3
这样,您就可以在本地(在“host”上)测试脚本,然后远程调用它(通过ssh
OP Kevin A.的注解中:
我的代码每隔45分钟左右就会循环运行一次,所以脚本一直在运行。这是一个不断更新云数据库的网页抓取器。
这个想法是让GitLab CI忽略等待脚本完成运行,它只是,停止以前的脚本运行,git拉并再次运行脚本
另一种方法是使脚本一次性废弃(并退出),但通过GitLab scheduled pipeline调用所述脚本。
这样就不会再结冰了。

相关问题