jenkins:Multibranch Pipeline多分支構建,搜遍全網無功而返,在這記錄一下success time!!!

        最近研究CI/CD,項目多分支情況下怎麼能高效持續集成、持續部署,造過jenkins的老鐵們都知道,Jenkins 1.x是通過界面手動操作來“描述”部署流水線,那麼Jenkins2.x給我們帶來了福音,2.x支持pipeline as code,即通過“代碼”來描述部署流水線。讓我們擁抱pipeline as code,放棄手動操作。

         首先我們引入一個文本文件Jenkinsfile,也就是部署流水線在jenkins中的表現形式,所有部署流水線的邏輯都寫在了jenkinsfile中。

      下面我們給jenkins安裝pipeline插件,安裝完就可以創建pipeline項目了,

pipeline 2.5開始,支持腳本式(Scripted)語法、聲明式(Declarative)語法。 腳本式靈活、可擴展、更復雜,聲明式更簡單、更結構化,我們選擇聲明式語法,語法如下:

pipeline{
     agent any

     stages{
         stage('build'){          
             steps{
                 echo   "building"
             }           
         }      

     }
  
}

pipeline:代表整條流水線,包含整條流水線的邏輯,

stage:代表流水線的階段。每個階段必須有名稱。

stages:流水線中多個stage的容器,至少包含一個stage

steps:代表階段中的一個或多個具體步驟

我們可以參考這裏語法生成:

選擇所需步驟,點擊生成腳本

 

配置jenkins url

進入項目配置分支源 

 

 重點配置來了:

gitlab配置webhook:

 

點擊test,查看結果

 

{"status":"ok","data":{"triggerResults":{"pipeline_project":{"triggered":true,"id":115,"url":"queue/item/115/"}}}}

返回jenkins job:

 

 構建成功!

 jenkinsfile:

pipeline {
  agent any
  stages {
    stage('source') {
      steps {
        git(changelog: true, poll: true,  branch: 'dev', credentialsId: 'bc2e8d23-494e-4946-82d0-e19b84891f41', url: 'http://ip:8080/root/pipeline_project.git')
      }
    }

    stage('build') {
      steps {
        sh 'mvn clean install -Dmaven.test.skip=true'
      }
    }
  }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章