jenkins+gitlab webhooks 實現自動觸發打包


說明:實現代碼在gitlab上的提交后立馬自動進行jenkins的job構建

 

安裝插件:

     Gitlab Hook Plugin 

     Build Authorization Token Root Plugin

     Parameterized Trigger plugin (可選)

     Build Pipeline Plugin(可選)

 

通過  openssl rand -hex 10 命令隨機生成一個字符串,用於遠程構建的令牌(token)

 

jenkins 配置

 

gitlab配置:

 

選中項目后,點擊 settings ----->webhooks,添加

http://10.10.10.11:8080/jenkins/buildByToken/build?job=test_pipeline&token=80522a5c8be0812ac4f9

注釋:綠色為jenkins url地址,藍色為固定格式,紅色為job名稱和tocken令牌

 

 

測試一下

 

測試結果如圖表示正常:

 

 

pipeline腳本(jenkins里設置)

pipeline {
    agent any
    environment { 
    def ITEMNAME = "flagship"
    def SRCCODE_DIR = "/root/.jenkins/workspace/test_pipeline/flagship-bigdata/"
    }
    stages {    
        stage('代碼拉取並打包'){
            steps {
            echo "checkout from ${ITEMNAME}"
            checkout ([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'b96e05e1-193f-4e06-9195-fcaf31f579e9', url: 'http://10.10.10.217/test/test.git']]])
            echo "開始打包 "
            sh 'export JAVA_HOME=/usr/local/java/jdk1.7.0_80 && cd $SRCCODE_DIR && mvn clean install -DskipTests -Denv=beta'    
            }
}
}
}

 此處腳本只演示gitlab代碼拉取與項目打包

 

以上設置完成后,gitlab有代碼更新就會自動觸發jenkins 執行job

效果圖展示:

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM