寫在前面
因種種原因,目前呆在運(yùn)維崗傀广,so,自己玩了下Jenkins自動(dòng)化部署彩届。下面記錄在部署jenkins過(guò)程中伪冰,遇到的問(wèn)題。
配置環(huán)境:
在學(xué)習(xí)過(guò)程中一共有兩個(gè)環(huán)境:
- VMware搭建的本地虛擬機(jī)樟蠕,系統(tǒng)為centos7.4贮聂;
- 阿里云購(gòu)買的服務(wù)器,系統(tǒng)環(huán)境為centos7.4寨辩。
本地虛擬機(jī):
先說(shuō)本地虛擬機(jī)吓懈,通過(guò)本地虛擬機(jī)搭建好環(huán)境后,根據(jù)網(wǎng)上教程裝好Jenkins相關(guān)使用環(huán)境(此處不做詳述靡狞,可以自行Google或百度)耻警。在Jenkins安裝完成后,打開(kāi)發(fā)現(xiàn)提示:該Jenkins實(shí)例似乎已離線甸怕。好吧甘穿,查閱相關(guān)資料發(fā)現(xiàn)將改地址改為:http://updates.jenkins.io/update-center.json可以實(shí)現(xiàn)聯(lián)網(wǎng)。最后發(fā)現(xiàn)還是不行梢杭,折騰了一天時(shí)間温兼,通過(guò)離線安裝漢化插件,裝上了發(fā)現(xiàn)還是不行式曲,最后無(wú)奈放棄妨托。。吝羞。等我多學(xué)一點(diǎn)再來(lái)嘗試兰伤,相關(guān)問(wèn)題先記錄在這里。
阿里云環(huán)境:
在放棄本地虛擬機(jī)后钧排,用阿里云嘗試敦腔,安裝好jenkins后,打開(kāi)后發(fā)現(xiàn)可以正常初始化恨溜,并且初始化后直接就是中文符衔,并且還能夠在線安裝各種插件。由此可以判斷本地虛擬機(jī)可能是網(wǎng)絡(luò)問(wèn)題(但是使用yum安裝各種包又沒(méi)問(wèn)題糟袁,后續(xù)還需要查下問(wèn)題所在)判族,繼續(xù)玩線上環(huán)境。搭建完成后项戴,用vue做的一個(gè)前端項(xiàng)目作為自動(dòng)化部署的材料形帮。
遇到第一個(gè)問(wèn)題:build項(xiàng)目需要node環(huán)境,剛開(kāi)始使用yum方式安裝node,發(fā)現(xiàn)版本過(guò)低辩撑,在build項(xiàng)目的過(guò)程中界斜,各種問(wèn)題。然后老老實(shí)實(shí)通過(guò)官網(wǎng)的二進(jìn)制包安裝最新的node環(huán)境合冀,本地編譯成功(這個(gè)過(guò)程中持續(xù)半天各薇,有苦難言,就不詳述)君躺。默認(rèn)本地可以build成功峭判,現(xiàn)在換成jenkins來(lái)跑自動(dòng)化流程:
結(jié)果發(fā)現(xiàn)在使用shell命令的時(shí)候,會(huì)出現(xiàn)提示權(quán)限不足:
mv: cannot move 'XXXX': Permission denied
然后晰洒,shell命令內(nèi)加了sudo朝抖,然后就給我報(bào)這個(gè)錯(cuò)誤。谍珊。。
我的內(nèi)心也是崩潰的急侥。反手根據(jù)上述提示繼續(xù)搜索砌滞,發(fā)現(xiàn)搜到一個(gè)解決方案,附博客解決方案:
一、 切換到root用戶
終端中執(zhí)行 su 命令坏怪,然后輸入密碼贝润,從普通用戶切換為根用戶。
二铝宵、為sudoers配置文件添加寫權(quán)限
sudoers文件位于 /etc 目錄下打掘,其為系統(tǒng)配置sudo用戶的一個(gè)只讀配置文件。在root身份下執(zhí)行 chmod +w /etc/sudoers 命令為該文件添加寫權(quán)限鹏秋。
三尊蚁、編輯sudoers配置文件
執(zhí)行 vi /etc/sudoers 命令對(duì)配置文件進(jìn)行編輯。在文件中先找到
Allows people in group wheel to run all commands
這段配置侣夷,然后在配置下方新起一行添加所需要增加 sudo權(quán)限的用戶横朋,格式如下:
jenkins ALL=(ALL) ALL
四、退出保存
編輯完配置文件保存退出后百拓,使用 su 普通用戶名 切換回普通用戶重新執(zhí)行sudo命令成功解決問(wèn)題琴锭。
作者:拂曉Skyler
來(lái)源:CSDN
原文:https://blog.csdn.net/lisongjia123/article/details/78493748
使用后發(fā)現(xiàn)可以正常mv文件到相應(yīng)目錄。
跑完Jenkins部署后衙传,發(fā)現(xiàn)第二次build會(huì)失敗决帖,原因是因?yàn)橐郧暗陌鼪](méi)有刪除,加入shell命令:rm蓖捶,然后報(bào)錯(cuò)地回。。。
rm: cannot remove ‘/usr/share/nginx/html/404.html’: Permission denied
好吧落君,問(wèn)題沒(méi)有完全解決穿香,繼續(xù)搜索相關(guān)解決方案,最后發(fā)現(xiàn)绎速。皮获。。
jekins默認(rèn)使用jenkis用戶名去跑shell命令纹冤。只需要修改jenkins相關(guān)配置就可以上述問(wèn)題:
解決辦法如下:
- 控制臺(tái)執(zhí)行命令:
vi /etc/sysconfig/jenkins
- 找到JENKINS_USER:
JENKINS_USER="jenkins"
- 修改為root洒宝,調(diào)整Jenkins所屬組:
chown -R root:root /val/lib/jenkins
chown -R root:root /val/cache/jenkins
chown -R root:root /val/log/jenkins
- 重啟服務(wù):
service jenkins restart
重新build,成功萌京。
發(fā)送郵件配置
可以成功build后雁歌,安裝Email Extension Plugin插件,插件配置可以參考其他大大的帖子知残,有一點(diǎn)需要注意的是靠瞎,我使用的163的郵箱,需要注意端口號(hào)求妹,我一直卡在無(wú)法成功發(fā)送郵件乏盐,很大一部分原因就是端口問(wèn)題:
首先,我根據(jù)帖子說(shuō)的不要勾選 使用SSL協(xié)議
制恍,使用25端口父能,一直無(wú)法發(fā)送郵件,初步判定是因?yàn)槎丝趩?wèn)題净神,因?yàn)橛匈N說(shuō)可能是運(yùn)營(yíng)商禁封了25端口何吝,相關(guān)帖子可參考:
禁封25端口
然后去163看了相關(guān)問(wèn)題解答,發(fā)現(xiàn)不適用ssl的話使用的是25端口鹃唯。
163關(guān)于郵件接口解答
好吧爱榕,嘗試勾選ssl協(xié)議,將端口切換為994俯渤,好吧呆细,WTF,世界未解之謎八匠,其他端口我后面再去嘗試吧絮爷。先休息一波,繼續(xù)玩基于docker的自動(dòng)化部署梨树。后續(xù)問(wèn)題繼續(xù)記錄坑夯。
上內(nèi)容僅為自己的學(xué)習(xí)過(guò)程,過(guò)程曲折抡四,我所遇到的問(wèn)題可能不適合所有場(chǎng)景柜蜈,但是做個(gè)記錄仗谆,以后說(shuō)不定可以用到。若對(duì)以上內(nèi)容有不同簡(jiǎn)介或看法淑履,歡迎一起探討隶垮。
企鵝號(hào):1041415167 郵箱地址:zth1041415167@outlook.com