以根用户身份运行Laravel Envoy

问题描述

如何以root用户身份运行Envoy?我有一台禁用了root访问权限的公司服务器,但是我可以sudo -s对其进行访问。

例如,通过Envoy运行git pull时,我会得到:

[詹金斯]:错误:无法打开.git / FETCH_HEAD:权限被拒绝

我尝试将sudo -s添加到其中:

@task('deploy')

sudo -s
git pull

@endtask

但这只会导致:

[jenkins]:sudo:不存在tty且未指定askpass程序

是否可以以root身份运行Envoy?

解决方法

只需以root用户身份登录服务器

@servers(['web' => 'root@webserver.example.com'])

但是以root用户身份登录并运行命令不是最安全的方法。 设置ssh密钥后,至少要禁用root用户的密码登录。

在理想环境中,您应该拥有一个只能运行部署所需命令的用户。