jenkins运行shell

jenkins在本机上构建项目时运行Shell,有2种方法

1 Excute Shell 此时会新建用户jenkins登录

jenkins运行shell_第1张图片

但是有些命令不一定有权限,比如docker images:

报错:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/nova-627e13b3-06b0-49e6-8cb9-8b649a9a8c93/exec: dial unix /var/run/docker.sock: connect: perm
 

查看docker.sock的权限:

cd /var/run
ll | grep docker.sock

表示root用户可读写,docker用户组的用户也可读写,所以可以用root用户登录,或者把当前用户加入到docker用户组

查看当前用户:  whoami

结果:jenkins

将jenkins用户 加入 到docker用户组:gpsswd -a jenkins docker

查看结果:运行 cat /etc/group

jenkins运行shell_第2张图片

最后重启docker,如果还是报这个错就重启jenkins

 

2 用jenkins用户始终麻烦,可能有各种权限问题,所以我们可以用root用户登录:

2.1 在manage jenkins的系统配置里新增ssh remote hosts

jenkins运行shell_第3张图片

 

 填入root用户后,点击check connection测试连接

 

2.2 jenkins Build时选择Excute shell script on remote host using ssh

jenkins运行shell_第4张图片

 

 

你可能感兴趣的:(jenkins)