1. 程式人生 > >Jenkins+GitLab

Jenkins+GitLab

real tro token webhooks 修改端口 檢查 提示 pan jenkins

思路 1、使用jenkins+gitlab,實現git倉庫有push時,立即觸發jenkins的job,進行構建。 2、jenkins和gitlab的安裝配置直接參考官方文檔 3、以下文檔僅是拋磚引玉,介紹將jenkins和gitlab打通。 ========================== GitLab 1、Profile->Access Token-:生成token,用於(Jenkins系統設置->系統設置->Gitlab 設置中的Credentials 2、創建新的倉庫,打開該倉庫頁,設置->Webhooks:url中填寫jenkins中的對應的job的地址,並添加參數 如:http://uasername:[email protected]
/* */:port/job/222/build?delay=0sec 3、【Add Webhook】保存 4、點擊【Test】,提示 “Hook executed successfully: HTTP 201”,且Jenkins中對應的job立即執行構建,在Build History可見。 5、jenkins+gitlab已打通,基礎配置完成,在倉庫中push後,對應的job可以立即執行構建 6、這僅是jenkins+gitlab的冰山一角,後面的打包、測試、發布、備份等等都能做。 ========================== Jenkins 1、系統設置->管理插件:gitplugin,gitlab plugin,gitlab hook plugin 2、系統設置->Configure Global Security: 技術分享
3、系統設置->系統設置->Gitlab: 技術分享 4、創建job: (可不添加該步驟)a、源碼管理:Git Repository URL,倉庫地址。如:http://172.168.100.155:9001/root/222.git Credentials,添加用戶名、密碼:使用gitlab的賬號密碼 保存 b、構建觸發器:Build when a change is pushed to GitLab. GitLab CI Service URL: http://172.168.100.155:8080/project/222 使用默認 c、保存job,並嘗試手動構建,檢查結果。 ========================== 遇到的問題
==Gitlab 問題:gitlab web打開後502 解決:修改端口號 #log tail -f /var/log/gitlab/unicorn/unicorn_stderr.log #修改gitlab端口號 sudo vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb #修改gitlab url sudo vim /etc/gitlab/gitlab.rb #重載配置 sudo gitlab-ctl reconfigure ==jenkins #問題:修改用戶權限後無法登錄 解決:刪除config.xml中部分內容,重啟jenkins $ cd /var/lib/jenkins,修改config.xml,刪除<useSecurity>true</useSecurity>以下,ADN <securityRealm class="hudson.security.LegacySecurityRealm"/>以上的內容。 充啟jenkins $ cd /etc/init.d $ sudo ./jenkins restart #問題:gitlab中webhooks添加的url在執行配置test時,報錯401、403 解決:webhooks的rul中拼接參數,如 http://username:[email protected]:8080/job/222/build?delay=0sec #問題:gitlab的倉庫中設置webhooks時,運行test報錯No valid crumb was included in the request 解決:在jenkins全局安全設置中取消勾選“防止跨站點請求偽造(Prevent Cross Site Request Forgery exploits)” [完]

Jenkins+GitLab