1. 程式人生 > >jenkins使用shell指令碼必須切換jenkins使用者

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!

[[email protected] ~]#visudo

jenkins ALL=(ALL) NOPASSWD: ALL

 

3、jenkins使用者必須可以免密登入

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

[[email protected] 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主機