如何在 Jenkins 构建中重新启动 gunicorn?

如何在 Jenkins 构建中重新启动 gunicorn?

我正在尝试构建一个 Jenkins 作业,它(1)从中提取最新内容Git,(2)构建我的Django项目,以及(3)重新启动gunicornnginx

但是,当我尝试重新启动时gunicorn,出现以下错误:

jenkins@digitalocean:/$ /usr/sbin/service gunicorn restart 
Failed to restart gunicorn.service: Access denied

我认为这是因为用户jenkins无权访问gunicorn.service?我可以使用哪些策略来处理这个问题?

答案1

如前所述,您的 jenkins 用户根本没有权限重新启动 gunicorn 进程。

事实上你可以给它 sudo 权限,但另一个解决方案是使用虚拟环境隔离你的 Python 应用程序环境。这样虚拟环境就可以属于 jenkins 用户,进程也可以,他可以重新启动它。

答案2

  1. 提示:它在目录/usr/sbin

    /usr/sbin目录包含系统管理员在引导(即启动系统)后使用的非重要系统实用程序。

  2. 提示:这是一个服务

  3. 提示:你有Access denied

帽子戏法!我们sudo针对这些情况。

sudo service gunicorn restart

相关内容