說明:實現代碼在gitlab上的提交後立馬自動進行jenkins的job構建java
安裝插件:git
Gitlab Hook Plugin web
Build Authorization Token Root Pluginruby
Parameterized Trigger plugin (可選)gitlab
Build Pipeline Plugin(可選)測試
經過 openssl rand -hex 10 命令隨機生成一個字符串,用於遠程構建的令牌(token)
ui
選中項目後,點擊 settings ----->webhooks,添加url
http://10.10.10.11:8080/jenkins/buildByToken/build?job=test_pipeline&token=80522a5c8be0812ac4f9 註釋:綠色爲jenkins url地址,藍色爲固定格式,紅色爲job名稱和tocken令牌
測試一下spa
測試結果如圖表示正常:插件
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
效果圖展現: