我试图使用Jenkins自动部署Python应用程序,然后在Raspberry服务器上使用shell命令来运行它。
以下是一些背景信息,
在使用Jenkins之前,我的部署和执行过程是手动描述的:
现在,我已经将Jenkins与下面描述的部署/执行过程集成在一起:
现在,问题在第4步,因为一个烧瓶应用程序必须始终活着,我的Jenkins将永远不会“成功地完成构建”,它将始终处于加载状态,因为Flask应用程序正在运行在Jenkins正在使用的shell终端上。
现在,我的问题:在部署了文件而不使其被构建过程“锁定”之后,我应该采取什么正确的方法来用Jenkins激活myFlaskApp.py?
我读过关于Docker、SubShell和Linux实用程序“屏幕”的文章。在我目前的情况下,这些工具对我有帮助吗?我应该采取哪种方法?
发布于 2020-03-15 00:10:27
简单而健壮的解决方案(在我看来)是使用Debian中可用的主管作为supervisor包。它允许你像你的应用程序一样从脚本中创建一个守护进程,它可以产生多个进程,如果应用程序没有崩溃,它可以重新启动它。
注意virtualenv --您不需要激活venv就可以使用它。您只需指出适当的Python可执行文件(your_venv/bin/python),而不是默认的可执行文件。例如:
$ ./venv/bin/python myFlaskApp.py发布于 2022-11-20 08:36:23
您需要创建这些文件,以便在jenkins上进行部署。
代码可以找到: 光盘
https://stackoverflow.com/questions/60681521
复制相似问题