以前部署了Gitlab的代碼託管平臺和Jenkins的代碼發佈平臺。一般是開發後的代碼先推到Gitlab上管理,而後在Jenkins裏經過腳本構建代碼發佈。這種方式每次在發版的時候,須要人工去執行jenkins上的構建動做,有時顯得過於繁瑣。因而就想到了Gitlab的Webhook功能,經過Webhook的相關設置,能夠實現代碼Push後,自動去觸發jenkins上的構建動做,這樣就不須要人工干預去執行發版操做了。設置以下:git
1)Jenkins上的操做
一般,jenkins在項目配置時是能夠配置遠程構建觸發器,設置好jenkins的回調url後就能夠讓jenkins進行自動構建。這就須要先下載Gitlab Hook Plugin 插件。登錄Jenkins,分別點擊"系統管理"->"插件管理"->"可選插件",選擇Gitlab Hook Pluginweb
而後構建相應的項目工程,好比下面的test-wx(下面最關鍵的是第2步中查看url,而後用這個url回調地址去Gitlab的webhook上添加)
a)先設置代碼的git下載路徑,這裏經過ssh方式(須要提早將Jenkins本機的key添加到Gitlab上)ssh
b)查看jenkin生成回調地址。在任務重構建觸發器下獲取回調URL。下面的URL那一行只有Gitlab Hook Plugin插件下載成功後才能顯示。gitlab
c)而後設置代碼發佈的推送腳本測試
2)Gitlab上的操做
登錄Gitlab上的testwx3項目中,添加webhook(用上面Jenkins中生成的回調url)url
而後點擊這個項目的"Settings"spa
添加成功後,點擊此webhook後面的test進行測試插件
若是返回Hook successfully executed.表示配置成功。
這樣,下次push代碼後,就會自動觸發jenkins上相關的構建工程進行自動發佈了!無需人工干預~3d
------------------------------------------------------------------------------------------------------
如上設置後,好比在gitlab的testwx3項目代碼庫中push一個test.txt文件,而後測試下是否自動發佈了blog
而後去Jenkins上查看,以下發現已經自動發佈了!
最後去目標機器192.168.1.19的/tmp/testwx目錄下發現test.txt文件已經發布過來了~