天天看點

【jenkins】Jenkins & GitLab WebHook 實作自動部署

目錄

          • 摘要
          • 前置條件
          • Jenkins建立任務
            • 建立maven項目
            • 添加描述 & 配置建構規則
            • 配置Git源碼位址和分支
            • 關鍵=>配置建構觸發器
            • 配置Build參數
            • 配置建構後操作(可選)
          • GitLab WebHook配置
          • 測試
摘要

以建立maven項目,部署到遠端tomcat伺服器為例。

前置條件
  • 伺服器已安裝完成Jenkins,Linux安裝Jenkins
  • Jenkins使用者設定為root,預設使用者為jenkins,在執行腳本和替換檔案會提示權限不足
    • centeros:(可參考:https://www.jianshu.com/p/fa546f723724)
    • ubuntu
      • vi /etc/default/jenkins
      • 修改所屬使用者:
        JENKINS_USER=$NAME=>JENKINS_USER=root
        JENKINS_GROUP=$NAME =>	JENKINS_GROUP=root 
                   
      • 修改權限
        chown -R root:root /var/lib/jenkins/
        chown -R root:root /var/log/jenkins/
        chown -R root:root /var/cache/jenkins/
                   
      • service jenkins restart
Jenkins建立任務

建立maven項目

【jenkins】Jenkins & GitLab WebHook 實作自動部署

注:如果沒有該選項,則需要下載下傳對應插件

添加描述 & 配置建構規則

丢棄舊的建構:

保持建構的天數3和保持建構的最大個數5,避免因為時間關系導緻磁盤占用過大。

【jenkins】Jenkins & GitLab WebHook 實作自動部署

配置Git源碼位址和分支

【jenkins】Jenkins & GitLab WebHook 實作自動部署

關鍵=>配置建構觸發器

  • 勾選

    Build when a change is pushed to GitLab. GitLab webhook URL: http://xxxxx/test

    ,URL即為需要配置到Git伺服器的位址
  • 點選

    進階

    選項,配置

    分支過濾規則

    Secret token

    【jenkins】Jenkins & GitLab WebHook 實作自動部署
【jenkins】Jenkins & GitLab WebHook 實作自動部署

配置Build參數

【jenkins】Jenkins & GitLab WebHook 實作自動部署

配置建構後操作(可選)

如果是配置打包生成路徑直接為web伺服器部署所需目錄,則無需此配置,eg:

<!--指定名稱ROOT和目錄-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warName>ROOT</warName>
                    <archiveClasses>true</archiveClasses>
                    <!--指定ROOT包生成目錄-->
		            <outputDirectory>/opt/tocmat/webabb</outputDirectory>
                </configuration>
            </plugin>
           
【jenkins】Jenkins &amp; GitLab WebHook 實作自動部署
GitLab WebHook配置

配置在Jenkins建構觸發器配置中擷取的URL和Secret Token參數

【jenkins】Jenkins &amp; GitLab WebHook 實作自動部署
測試
  • 修改代碼
  • master分支push到遠端
  • 檢視jenkins控制台如下:
    【jenkins】Jenkins &amp; GitLab WebHook 實作自動部署
  • 測試成功

以後正常開發使用非master分支,需要更新遠端伺服器時,指定人員使用master分支push即可觸發自動部署。

繼續閱讀