我正在尝试构建一个 Jenkins 作业,它(1)从中提取最新内容Git
,(2)构建我的Django
项目,以及(3)重新启动gunicorn
和nginx
。
但是,当我尝试重新启动时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
提示:它在目录
/usr/sbin
。该
/usr/sbin
目录包含系统管理员在引导(即启动系统)后使用的非重要系统实用程序。提示:这是一个服务。
提示:你有
Access denied
帽子戏法!我们sudo
针对这些情况。
sudo service gunicorn restart