最近在Jenkins部署遠(yuǎn)程執(zhí)行其他服務(wù)器上的編譯腳本時(shí)遇到報(bào)找不到編譯器的問題,耗時(shí)兩天嘗試了排序比較靠前的一些方法,但都沒能解決問題,所以決定記錄下,希望能幫助到大家。
執(zhí)行命令:ssh root@遠(yuǎn)程主機(jī) /studio/test.sh
編譯報(bào)錯(cuò):
/bin/sh: 1: aarch64-linux-gnu-gcc: not found
注:嘗試了編譯其他架構(gòu)也都一樣報(bào)對(duì)應(yīng)的編譯器不存在
1、首先找到的方法就是在Jenkins里設(shè)置全局屬性Environment variables,添加PATH,值是編譯器路徑。添加調(diào)試信息echo $PATH發(fā)現(xiàn)PATH已成功添加編譯器路徑,但就是報(bào)找不到編譯器。
2、遠(yuǎn)程主機(jī)PATH設(shè)置在/root/.bashrc文件里,嘗試在執(zhí)行腳本前先source /root/.bashrc,測(cè)試結(jié)果與1中一樣。
為了方便測(cè)試,后邊直接在Jenkins主機(jī)上執(zhí)行下面的命令進(jìn)行測(cè)試,當(dāng)which這條命令能打印出編譯器路徑時(shí)即成功。
ssh root@遠(yuǎn)程主機(jī) “source /root/.bashrc && ehco $PATH && which aarch64-linux-gnu-gcc”
3、參考以下文章中的方法,在相應(yīng)配置文件中添加PATH并在遠(yuǎn)程主機(jī)上執(zhí)行source,還是不行。
https://blog.csdn.net/whitehack/article/details/51705889文章來源:http://www.zghlxwxcb.cn/news/detail-610589.html
4、通過對(duì)3中博文的學(xué)習(xí),在/etc/profile中添加PATH并在執(zhí)行編譯腳本前進(jìn)行source,終于能找到編譯器了,emmmm前邊嘗試執(zhí)行前source /root/.bashrc不行source /etc/profile終于可以了,太不容易了,必須記錄下。
最終在Jenkins執(zhí)行的命令:
ssh root@遠(yuǎn)程主機(jī) “source /etc/profile && /studio/test.sh”文章來源地址http://www.zghlxwxcb.cn/news/detail-610589.html
到了這里,關(guān)于Jenkins部署ssh連接遠(yuǎn)程主機(jī)執(zhí)行腳本找不到環(huán)境變量的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!