- 服務器地址:
172.16.8.6:8080
登錄頁面:
-
點擊新建任務
- 創(chuàng)建任務
- 輸入任務名稱
任務名稱采用正則表達式\w{1,15}-(java|web|php|app|android|ios|apple|vue|ant)(-\w{0,15})?
示例:uap-web容为,uap-java-config -
復制模板
輸入temp從模板列表中選擇襟锐,或者選擇其他已有的項目
最后點擊創(chuàng)建即可
- 配置源碼地址Gitlab :172.16.26.120
打開Gitlab上的項目移稳,確認Jenkins用戶已經加入到項目中,擁有拉取代碼權限
-
選擇SSH協(xié)議,復制項目地址缔俄,如下圖
image.png 在Jenkins項目上添加代碼倉庫路徑
點擊源碼管理
從gitlab上復制項目ssh地址鏈接粘貼到RepositoryURL中
-
在Branch Specifier (blank for 'any') 填入分支名炉媒,如下圖為master分支
- 構建觸發(fā)器
選擇Jenkins項目中 “構建觸發(fā)器” 選項卡
-
勾選Build when a change is pushed to GitLab. 并復制GitLab webhook URL,如下圖
image.png -
打開Gitlab上項目地址驱入,選擇“設置”(需要有對應權限才可以該選項)下“集成”選項卡赤炒,在“鏈接(URL)”文本框中填入Jenkins上對應的web鉤子url,勾選觸發(fā)事件亏较,如圖勾選push事件莺褒,點擊“增加web鉤子”即可,如下圖
image.png
- 構建環(huán)境
-
在Jenkins上選擇構建選項卡雪情,點擊“增加構建步驟”遵岩,選擇對應的工具構建即可,
示例:構建java maven項目巡通,選擇maven項目填入對應maven命令
示例:構建前端npm 項目尘执,選擇執(zhí)行shell,填入對應命令即可
- 發(fā)布編譯后項目文件
該Jenkins服務器只用于項目編譯宴凉,項目運行需要將編譯后文件傳送到對應服務器發(fā)布運行誊锭,對于已經打包的java項目和web項目,已經編寫兩個腳本runweb
/usr/local/bin/runweb
跪解,runjar/usr/local/bin/runjar
-
/usr/local/bin/runjar
該腳本用于將springboot項目打包后的jar包通過scp傳送到對應服務器炉旷,運行發(fā)布
選項- -a :在指定機器執(zhí)行命令(腳本內已經指定172.16.8.20為默認遠程機器) eg:
runjar -a “l(fā)s /tmp”
即在遠程機器執(zhí)行ls /tmp
命令,該命令將忽略除了-h -u -P
以外的其他選項 - -h :指定遠程的服務器,eg:
runjar -h 172.16.8.18 -a "ls /tmp"
即在172.16.8.18 機器執(zhí)行ls /tmp
命令 - -u :指定ssh遠程用戶默認采取root用戶叉讥,eg:
runjar -u admin -a "ls"
- -P :指定ssh遠程端口窘行,默認采用22端口
- -f :指定jar 包地址,忽略
-m
選項自動查找jar包图仓,-m
選項與-f
同時出現(xiàn)會覆蓋選項功能罐盔,寫在后面選項將覆蓋前面選項 - -p :指定spring boot 運行的jar包端口,即組成
-Dserver.port=
選項救崔,eg:runjar -p 8888 -f /opt/test.jar
即組成命令java命令為java -jar /opt/test.jar -Dserver.port=8888
- -d :指定spring 運行配置文件 即組成-Dspring.profiles.active= 選項
eg:使用測試環(huán)境配置runjar -f /opt/test.jar -d test
- -m :指定java項目中的模塊文件夾名稱惶看,該選項將自動查找該模塊文件夾下的第一個查找到的jar包,作為運行的jar
- -j :用于指定其他JAVA_OPTS六孵,擴展java程序運行命令纬黎,eg:
runjar -m web -j "-Xms800m -Xmx800m"
對于上面選項不支持配置jar包運行內存參數(shù),即可通過-j 命令增加
示例:通過jenkins控制臺輸出可查看運行日志劫窒,腳本運行日志如下:
- -a :在指定機器執(zhí)行命令(腳本內已經指定172.16.8.20為默認遠程機器) eg:
-
/usr/local/bin/runweb
該腳本用于將web前端編譯后的文件傳送發(fā)布到對應web服務器上- -a :在指定機器執(zhí)行命令(腳本內已經指定172.16.8.20為默認遠程機器) eg:
runweb -a “l(fā)s /tmp”
即在遠程機器執(zhí)行ls /tmp
命令,該命令將忽略除了-h -u -P
以外的其他選項 - -h :指定遠程的服務器本今,eg:
runweb -h 172.16.8.18 -a "ls /tmp"
即在172.16.8.18 機器執(zhí)行ls /tmp
命令 - -u :指定ssh遠程用戶默認采取root用戶,eg:
runweb -u admin -a "ls"
- -P :指定ssh遠程端口,默認采用22端口
- -m :遠程備份文件夾名稱冠息,runweb腳本會將之前項目文件進行備份到/tmp/{模塊名}/日期目錄下挪凑,默認名稱使用Jenkins項目名稱
- -f :指定遠程服務器存放web項目文件目錄
-
-l :指定本地服務器存放web項目文件目錄,相對路徑(項目根目錄)逛艰,或絕對路徑
示例:通過jenkins控制臺輸出可查看運行日志躏碳,腳本運行日志如下:
- -a :在指定機器執(zhí)行命令(腳本內已經指定172.16.8.20為默認遠程機器) eg: