Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.
點擊肯定後進入了該項目的配置頁面,先總覽全部的配置項,共有六項:General,源碼管理,構建觸發器,構建環境,構建,構建後操做.從字面意思上不難理解。html
接下來分別較少這幾項配置,以及用到的插件,已完成CI/CD的目標。git
上邊這些作完後其實基本上已經能夠了,之因此修改Advanced clone behaiours,是防止第一次構建時拉取源碼超時,默認超時時間爲10minutes,屢次構建失敗後,我把此處修改成了20minutes,若是依舊超時,可延長此處時間,或檢查網絡(點擊Additional Behaviours旁邊的add,選擇Advanced clone behaiours)github
圖中爲每六小時檢測一次web
web hook觸發主要介紹gitlab hook插件,接下來咱們先保存已經完成的配置,回到首頁,下載所需插件。shell
可選插件中搜索gitlab,勾選列表中的GitLab Plugin和Gitlab Hook Plugin, 選擇直接安裝。待安裝完成後回到首頁,點擊右邊剛剛咱們建立的任務,而後點擊配置回到咱們以前的配置頁面。tomcat
此時發現構建觸發器中多了個選項:Build when a change is pushed to GitLab. GitLab CI Service URL: http://172.16.192.142:9081/jenkins/project/test
,若是仍然沒有,嘗試重啓Jenkins以後查看。安全
圖中紅框上邊爲Gitlab Web Hook處須要添加的URL,若Jenkins設置了不容許匿名用戶執行構建操做,則須要在Gitlab安全令牌處添加第二個紅圈處的Secret token。bash
**/*.war
的形式本文中Containers我選擇了Tomcat 7.x,Credentials須要在tomcat裏配置上,Tomcat URL即環境的基礎地址服務器
<role rolename="manager-script"/> <user username="caozeal" password="******" roles="manager-script"/>

<Context antiJARLocking="true" antiResourceLocking="true">
須要注意的是執行腳本的時候有個坑,讀取不到系統的環境變量,緣由是此處執行腳本的方式爲non-interactive + non-login shell,不會讀取/etc/profile中的配置,此處的解決方案是採用bash執行命令,因爲bash恆執行BASH_ENV中的變量,所以須要把/etc/profie賦值到BASH_ENV中,詳細解決思路參考連接網絡
遺留問題:
Jenkins構建的時候控制檯亂碼