柚子快報(bào)邀請(qǐng)碼778899分享:devops gocd部署應(yīng)用
柚子快報(bào)邀請(qǐng)碼778899分享:devops gocd部署應(yīng)用
產(chǎn)品需要在多個(gè)環(huán)境部署測試,為了提高部署測試效率,故計(jì)劃使用CD工具,jenkins確實(shí)足夠強(qiáng)大,但是使用部署功能是需要安裝插件的,再說自己本身只用部署功能,故決定找一個(gè)小巧的CD工具,經(jīng)過一番查找,gocd就是我需要的CD工具;
該工具支持 linux 、windows、mac,也有docker鏡像; 官方有詳細(xì)生動(dòng)的文檔;
工具官網(wǎng) 下載頁面 文檔頁面
以debian環(huán)境為例進(jìn)行部署:
1.gocd server部署
wget https://download.gocd.org/binaries/22.3.0-15301/deb/go-server_22.3.0-15301_all.deb
dpkg -i go-server_22.3.0-15301_all.deb
systemctl start go-server
安裝完成后通過: http://127.0.0.1:8153/ 訪問(默認(rèn)綁定在0.0.0.0上)
界面如下:
直接跳到了創(chuàng)建pipeline的界面
2.go-agent部署
wget https://download.gocd.org/binaries/22.3.0-15301/deb/go-agent_22.3.0-15301_all.deb
dpkg -i go-agent_22.3.0-15301_all.deb
修改配置文件配置go-server的IP:
/usr/share/go-agent/wrapper-config/wrapper-properties.conf
systemctl start go-agent
成功后即可在服務(wù)器端看到agent信息:
注意: 需要手動(dòng)enable來啟用agent;
3.創(chuàng)建流水線(pipeline)
3.1 物料(material)
物料主要起觸發(fā)流水線的作用; 包括git、svn等方式(服務(wù)器上需要安裝git、svn命令),如果確實(shí)無法搭建倉庫,可以看插件頁是否有你需要的方式,我使用的是ftp方式,下載插件后放到 /var/lib/go-server/plugins/external 目錄后重啟go-server服務(wù)即可;
如果你選用的倉庫報(bào)錯(cuò): The ref refs/heads/master could not be found.
那么很可能是因?yàn)槟壳耙恍﹤}庫將mast改名為main的原因,在高級(jí)設(shè)置里指定branch為main即可;
3.2 管道設(shè)置
主要配置流水線名稱及環(huán)境變量即可;
3.3 階段設(shè)置
主要配置階段名稱及環(huán)境變量即可;
3.4 任務(wù)設(shè)置
此階段主要配置命令;
4. 修改流水線
5.執(zhí)行流水線
根據(jù)目前資料來看是1分鐘輪詢一次;
可以手動(dòng)觸發(fā)流水線;
6.用戶管理
htpasswd創(chuàng)建密碼文件:
apt-get install apache2-utils
創(chuàng)建密碼文件: htpasswd -c -B passwd user1 創(chuàng)建passwd文件,添加用戶user1
htpasswd -B passwd user2 在passwd文件中添加用戶user2
添加完畢后如下:
FAQ:
如何將go-agent切換到一個(gè)新的go-server?
除了將配置文件 /usr/share/go-agent/wrapper-config/wrapper-properties.conf中的IP進(jìn)行修改外,還需要?jiǎng)h除/var/lib/go-agent/config 目錄下的guid.txt和token;參考
2. 流水線執(zhí)行時(shí)命令報(bào)錯(cuò)了,但是看不到日志怎么辦?
安裝script-executor插件;添加命令時(shí)選擇plugin task -> script-executor
注意:默認(rèn)使用的用戶為go,不是root,注意權(quán)限問題;
可以在/etc/sudoers文件中加上 go ALL=(ALL) NOPASSWD: ALL ,以此來達(dá)到執(zhí)行sudo面輸入密碼的效果;
3.有多個(gè)agent執(zhí)行不同的任務(wù),應(yīng)該怎么辦?
1. 先添加資源,然后將agent和資源類型相關(guān)聯(lián);
2.在Admin > Pipelines 中配置JOB SETTINGS;
4. 默認(rèn)工作目錄在哪里
pipelines\$pipename\
5. windows下執(zhí)行注意事項(xiàng)
編寫bat腳本
6. 每次執(zhí)行時(shí)是在一個(gè)go-agent上執(zhí)行,還是在多個(gè)go-gent上執(zhí)行呢?
取決于 JOB SETTINGS
7.是否可以在linux arm環(huán)境上運(yùn)行
默認(rèn)支持x86平臺(tái)(因deb、rpm包均只包含了x86平臺(tái)的java及java service wrapper),但是我們可以更新java及wrapper;
8. windows下go-agent默認(rèn)目錄
C:\Program Files (x86)\Go Agent\
柚子快報(bào)邀請(qǐng)碼778899分享:devops gocd部署應(yīng)用
精彩鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。