真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

jenkins,自動部署scp傳輸錯誤的坑-創(chuàng)新互聯(lián)

環(huán)境:centos7

員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團(tuán)隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因?yàn)椤皩W⑺詫I(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),重慶小程序開發(fā),軟件定制網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。

版本:jenkins-2.176.3-1.1.noarch.rpm

問題:使用root帳號安裝jenkins之后,配置自動部署,打包完成項目不能scp到項目服務(wù)器,(測試服務(wù)器ssh端口默認(rèn)22改為6688之后)提示
Host key verification failed. lost connection
[JENKINS] Archiving /opt/jenkins/workspace/test-microservice/base-zuul/target/base-zuul-0.0.1-SNAPSHOT.jar to com.zjgf/base-zuul/0.0.1-SNAPSHOT/base-zuul-0.0.1-SNAPSHOT.jar
[test-microservice] $ /bin/bash /tmp/jenkins8821230735005579726.sh
channel stopped
Host key verification failed.
lost connection
upload files fail

解決方法:
1、rpm包安裝的jenkins默認(rèn)添加jenkins用戶 默認(rèn)shell為:
jenkins:x:992:989:Jenkins Automation Server:/var/lib/jenkins:/bin/false

2、修改默認(rèn)shell
jenkins:x:992:988:Jenkins Automation Server:/var/lib/jenkins:/bin/bash

3、切換到j(luò)enkins用戶
[root@node60 ~]#su - jenkins
bash-4.2$

4、解決變量問題
可以看到j(luò)enkins用戶沒有變量,原因是在安裝jenkins時,jenkins只是創(chuàng)建了jenkins用戶,并沒有為其創(chuàng)建home目錄。所以系統(tǒng)就不會在創(chuàng)建用戶的時候,自動拷貝/etc/skel目錄下的用戶環(huán)境變量文件到用戶家目錄,也就導(dǎo)致這些文件不存在,出現(xiàn)-bash-4.2#的問題了。

5、修改jenkins用戶變量
以下命令是在切換到 jenkins用戶下執(zhí)行的(重要事項再說一次,su - jenkins 之后再執(zhí)行命令)?。ㄖ皇怯脩衄F(xiàn)在顯示的是-bash-4.2)這個時候不要慌,執(zhí)行下面步驟:

vim ~/.bash_profile

執(zhí)行上面的命令,即使沒有.bash_profile文件,linux會自動創(chuàng)建。
然后再添加這句

export PS1='[\u@\h \W]\$'

:wq (保存退出)

然后再刷新.bash_profile文件,使其起作用

source ~/.bash_profile
然后就看到當(dāng)前的變量生效了

[jenkins@node60 root]$

現(xiàn)在可以看到j(luò)enkins用戶shell變量正常了。

6、再次測試
再次執(zhí)行jenkins任務(wù),發(fā)現(xiàn)還是報錯,在Jenkins的使用過程中,如果在腳本中使用到sudo命令,有可能出現(xiàn)如下所示的錯誤:
sudo: no tty present and no askpass program specified
這是因?yàn)镴enkins服務(wù)器在執(zhí)行sudo命令時的上下文有誤,導(dǎo)致這個命令執(zhí)行的異常。

7、解決方案:
切換到root或者管理員賬戶

[root@node60 ~]# visudo
在文件中加上一行
Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
jenkins ALL=(ALL) NOPASSWD: ALL

再次執(zhí)行jenkins任務(wù),發(fā)現(xiàn)還有報錯,經(jīng)過排查需要在測試服務(wù)器上添加jenkins用戶的密鑰

cat /var/lib/jenkins/.ssh/id_rsa.pub

系統(tǒng)提示我 - -!
cat: /var/lib/jenkins/.ssh/id_rsa.pub: 沒有那個文件或目錄
于是
創(chuàng)建jenkins用戶的公鑰文件id_rsa.pub (su - jenkins 以下命令在jenkins用戶shell中執(zhí)行?。。。?/p>

[jenkins@node60 root]$ ssh-keygen -t rsa

一路回車下去,然后再查看生成的jenkins密鑰對

[jenkins@node60 root]$ cat /var/lib/jenkins/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaWGfcK3(太長了,默默的刪除一部分)WEDv64dQ+oG/IN2lDQa/ jenkins@node60

然后復(fù)制jenkins生產(chǎn)的公鑰,登錄測試服務(wù)器,添加到測試服務(wù)器部署帳號的~/.ssh/authorized_keys

[jenkins@test1 ~]$ vim ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaW0Mqv0xwKGfcK3WEDv645lPuhXXReY3jGdQ+onGwqym9G/IN2lDQa/ jenkins@node60
保存退出

8、再次測試
再次編輯jenkins任務(wù) JOB*{需要注意,scp和ssh使用的指定端口號參數(shù) -P 和 -p 在jenkins中區(qū)分大小寫}
以下為我測試時編寫的測試腳本
···
!/bin/bash
上傳路徑
UPLOAD="/opt/MService/file/upload"
scp -P 6688 /opt/jenkins/workspace/test-aaa-master/target/aaa-0.0.1-SNAPSHOT.jar jenkins@test1:$UPLOAD;
執(zhí)行測試服務(wù)器更新腳本
ssh -t -p 6688 jenkins@test1 'sh /home/jenkins/.sh/aaa.sh';
···
至此,問題解決!完事

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)頁標(biāo)題:jenkins,自動部署scp傳輸錯誤的坑-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://weahome.cn/article/ipdch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部