jenkins使用shell脚本必须切换jenkins用户

https://blog.csdn.net/cdnight/article/details/81078191

安装这篇解决的


正确使用脚本的方式:


1、脚本必须使用jenknins用户,且所有命令必须使用sudo 否则报错

#!/bin/bash -ilex
sudo su -s /bin/bash jenkins
sudo scp -r /var/lib/jenkins/jobs/moven-test/workspace/target/ssoserver.war [email protected]:/usr/local/apache-tomcat-8.5.31/webapps/

2、要有使用sudo的所有权限,就是使用scp等命令不需要密码

添加如下内容到 visudo里面,然后强制保存 wq!

[root@node2 ~]#visudo

jenkins ALL=(ALL) NOPASSWD: ALL

3、jenkins用户必须可以免密登录

[jenkins@node2 root]$ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

[jenkins@node2 root]$ssh [email protected]
Last login: Tue Sep 25 15:51:41 2018 from 192.168.0.76


报错解决:

1、

sudo: no tty present and no askpass program specified

解决:

切换到root下

vi /etc/sudoers

为用户添加免密码

jenkins ALL=(ALL) NOPASSWD: ALL

2、

Host key verification failed


原因是没有用jenkins账号,脚本必须使用 sudo jenkins;且没有在jenkins用户下配置免密远程登录tomcat主机

猜你喜欢

转载自www.cnblogs.com/effortsing/p/10013426.html