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 root@192.168.0.72:/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 root@192.168.0.72

[jenkins@node2 root]$ssh root@192.168.0.72
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主機

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM