Gitlab利用Webhook+jenkins實現(xiàn)自動構(gòu)建與部署

之前部署了Gitlab的代碼托管平臺和Jenkins的代碼發(fā)布平臺。通常是開發(fā)后的代碼先推到Gitlab上管理,然后在Jenkins里通過腳本構(gòu)建代碼發(fā)布。
這種方式每次在發(fā)版的時候,需要人工去執(zhí)行jenkins上的構(gòu)建動作,有時顯得過于繁瑣。于是就想到了Gitlab的Webhook功能,通過Webhook的相關(guān)設(shè)置,可以實現(xiàn)代碼Push后,自動去觸發(fā)jenkins上的構(gòu)建動作,這樣就不需要人工干預(yù)去執(zhí)行發(fā)版操作了。設(shè)置如下:
1)Jenkins上的操作
通常,jenkins在項目配置時是可以配置遠(yuǎn)程構(gòu)建觸發(fā)器,設(shè)置好jenkins的回調(diào)url后就可以讓jenkins進(jìn)行自動構(gòu)建。這就需要先下載Gitlab Hook Plugin 插件。登陸Jenkins,分別點擊"系統(tǒng)管理"->"插件管理"->"可選插件",選擇Gitlab Hook Plugin
然后構(gòu)建相應(yīng)的項目工程,比如下面的test-wx(下面最關(guān)鍵的是第2步中查看url,然后用這個url回調(diào)地址去Gitlab的webhook上添加)
a)先設(shè)置代碼的git下載路徑,這里通過ssh方式(需要提前將Jenkins本機(jī)的key添加到Gitlab上)

b)查看jenkin生成回調(diào)地址。在任務(wù)重構(gòu)建觸發(fā)器下獲取回調(diào)URL。下面的URL那一行只有Gitlab Hook Plugin插件下載成功后才能顯示。

c)然后設(shè)置代碼發(fā)布的推送腳本

2)Gitlab上的操作
登陸Gitlab上的testwx3項目中,添加webhook(用上面Jenkins中生成的回調(diào)url)

然后點擊這個項目的"Settings"


添加成功后,點擊此webhook后面的test進(jìn)行測試

如果返回Hook successfully executed.表示配置成功。這樣,下次push代碼后,就會自動觸發(fā)jenkins上相關(guān)的構(gòu)建工程進(jìn)行自動發(fā)布了!無需人工干預(yù)~

如上設(shè)置后,比如在gitlab的testwx3項目代碼庫中push一個test.txt文件,然后測試下是否自動發(fā)布了

然后去Jenkins上查看,如下發(fā)現(xiàn)已經(jīng)自動發(fā)布了!

最后去目標(biāo)機(jī)器192.168.1.19的/tmp/testwx目錄下發(fā)現(xiàn)test.txt文件已經(jīng)發(fā)布過來了~
https://www.cnblogs.com/kevingrace/p/6479813.html
- END -
技術(shù)交流群
為了大家更快速的學(xué)習(xí)知識,掌握技術(shù),隨時溝通交流問題,特組建了技術(shù)交流群,大家在群里可以分享自己的技術(shù)棧,拋出日常問題,群里會有很多大佬及時解答的,這樣我們就會結(jié)識很多志同道合的人,長按下圖可加我微信,備注運維或者k8s或者devops即可進(jìn)群。
??????????????
?掃碼加群?
微信公眾號
長按掃一掃關(guān)注公眾號?
