1. 程式人生 > 實用技巧 >jenkins獲取gitlab程式碼自動構建流程

jenkins獲取gitlab程式碼自動構建流程

目錄

一、建立專案

1.建立專案

1)建立新任務

2)填寫專案名稱

3)填寫專案備註

4)專案執行過程新增一個命令

5)構建專案

6)檢視構建過程

7)檢視伺服器檔案(對應建立了一個檔案)

二、jenkins獲取git專案

1.到碼雲網站獲去原始碼

https://gitee.com/lovexzq/XingYunDaZhuanPan?_from=gitee_search

2.把程式碼匯入gitlab

1)建立新專案

2)匯入專案

3)複製程式碼ssh匯入

這邊僅作為顯示,可在碼雲中找到開原始碼,進行程式碼拉取

4)匯入程式碼

3.jenkins獲取專案程式碼

1)jenkins與gitlab做免密

1.jenkins生成金鑰對
[root@jenkins ~]# ssh-keygen

2.將在jenkins中公鑰寫入gitlab,相當於jenkins能對gitlab進行操作

3.此處僅作為對此專案有可控許可權




2)jenkins配置獲取git的程式碼

3)構建拉取程式碼

4)檢視程式碼拉取到伺服器

三、jenkins構建程式碼推送至web伺服器

1.搭建nginx

2.jenkins寫指令碼推送程式碼

  • 1)jenkins伺服器與web伺服器做免密
[root@jenkins ~]# ssh-copy-id 172.16.1.7
  • 2)測試連線
[root@jenkins jenkins獲取git的程式碼專案]# ssh 172.16.1.7
Last login: Wed Sep 23 23:21:29 2020 from 10.0.0.1
[root@web01 ~]# logout
Connection to 172.16.1.7 closed.
  • 3)jenkins配置推送程式碼指令碼
[root@jenkins ~]# mkdir /scripts
[root@jenkins ~]# vim /scripts/code.sh
#!/bin/bash 
Web_Ip=10.0.0.7
Old_Code_Dir=/tmp/${JOB_NAME}_$BUILD_NUMBER
ssh root@$Web_Ip "[ -d $Old_Code_Dir ] || mkdir -p $Old_Code_Dir"
ssh root@$Web_Ip "mv /code/* $Old_Code_Dir/"
scp -rp $WORKSPACE/* root@${Web_Ip}:/code/
[root@jenkins ~]# chmod +x /scripts/code.sh
  • 4)jenkins頁面配置推送

  • 5)構建測試

  • 6)訪問頁面測試

3.程式碼回滾

  • 1)配置指令碼
# 通過書寫指令碼方式實現部署和回滾功能,因指令碼中case語句有兩種選擇,所以在後續jenkins構建時同樣需要選擇兩種方式
[root@jenkins ~]# vim /scripts/deploy_rollback.sh
#!/bin/bash 
Web_Ip=172.16.1.7
Old_Code_Dir="/tmp/${JOB_NAME}/$BUILD_NUMBER"
case $Status in 
    Deploy)
        echo "Status:$Status"
        ssh root@$Web_Ip "[ -d $Old_Code_Dir ] || mkdir -p $Old_Code_Dir"
        ssh root@$Web_Ip "mv /code/* $Old_Code_Dir"
        scp -rp $WORKSPACE/* root@${Web_Ip}:/code/
        echo "Completing!"
        ;;
    Rollback)
        echo "Status:$Status"
        echo "Version:$Version"
        ssh root@$Web_Ip "[ -d $Old_Code_Dir ] || mkdir -p $Old_Code_Dir"
        ssh root@$Web_Ip "/usr/bin/cp -a /tmp/${JOB_NAME}/$Version/* /code/"
        ;;
    *)
        exit
        ;;
esac
  • 2)jenkins頁面配置

  • 3)測試程式碼更新

  • 4)測試回滾

四、觸發器自動構建

1.配置觸發器

2.配置gitlab

3.測試

  • 1)測試事件

  • 2)出現問題

  • 3)解決方式配置jenkins安全

  • 4)修改gitlab程式碼

  • 5)頁面自動構建

五、返回構建結果

1.設定gitlab獲取token


2.jenkins配置token




3.jenkin設定構建後操作


4.測試

  • 1)修改程式碼提交

  • 2)檢視jekins自動構建

  • 3)檢視gitlab上面jenkins構建返回的結果