系統環境:
- Gitlab主機
- IP:192.168.1.2
- Jenkins主機
- IP:192.168.1.3
一、為何要做自動部署
#為什么要做自動部署,因為懶啊!!! #部署Tomcat的在這里:https://blog.51cto.com/bigboss/2155423
二、配置Gitlab
#首先,你得有一個代碼倉庫,趕緊到gitlab上創建一個,然后創建個分支並創建一個文件。
#其次,你得配置一個ssh公鑰到gitlab上,這樣才能模擬開發上傳代碼到gitlab。 #至於ssh公鑰私鑰怎么生成,自己百度去。
#克隆代碼倉庫,然后測試是否能夠上傳代碼到gitlab git clone git@192.168.1.2:root/test.git cd test/ echo 11111 > 1.txt git add . git commit -m "add 1.txt" git push
三、配置Jenkins
#打開jenkins頁面 #添加插件:系統管理 - 插件管理 #需要添加的插件:Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Parameter #添加完插件重啟jenkins,開始添加要部署代碼的主機,注意一定是要能夠ssh登陸的用戶。 #添加主機:系統管理 - 系統設置 找到Publish over SSH
#添加完主機之后,新建一個項目,開始配置構建操作
#配置gitlab,當有代碼提交時,觸發jenkins的部署操作
四、測試提交代碼是否會部署到遠程主機
#再次克隆倉庫 git clone git@192.168.1.2:root/test.git cd test/ echo '測試Jenkins' > index.html git add . git commit -m 'add index.html' git push #提交之后去jenkins頁面看看
小坑:
-
錯誤提示:
#很多朋友使用最新版本的gitlab做自動部署時,在增加web鈎子那一步, #點擊test push events時會報錯:Url is blocked: Requests to the local network are not allowed
- 解決方法:
#這是因為新版的gitlab為了安全默認禁止了本地局域網地址調用web hook #我們在設置里允許就行,具體步驟如下: