下载gitlab插件
插件文档:https://plugins.jenkins.io/gitlab-plugin/
配置构建后状态返回到gitlab:
在系统配置中:
在项目中使用gitlab触发器:
gitlab配置:
1.添加webhook
2.关闭自动构建
需要返回Jenkins状态关闭gitlab自带的devops功能即可
pipline 流水线:
pipeline {
agent any
options {
gitLabConnection gitLabConnection: 'xhh'
gitlabBuilds(builds: ['print environment', 'git', 'build'])
}
stages {
stage('print environment') {
steps {
script{
gitlabCommitStatus('print environment') {
// The result of steps within this block is what will be sent to GitLab
echo "${BUILD_NUMBER}"
echo "${JOB_NAME}"
echo "${WORKSPACE}"
echo "${BUILD_ID}"
echo "${JOB_BASE_NAME}"
echo "${env.gitlabBranch}"
echo "${env.gitlabSourceBranch}"
echo "${env.gitlabUserName}"
echo "${env.gitlabUserUsername}"
echo "${env.gitlabUserEmail}"
echo "${env.gitlabSourceRepoHomepage}"
echo "${env.gitlabSourceRepoName}"
echo "${env.gitlabSourceNamespace}"
echo "${env.gitlabSourceRepoURL}"
echo "${env.gitlabSourceRepoSshUrl}"
echo "${env.gitlabSourceRepoHttpUrl}"
echo "${env.gitlabMergeRequestTitle}"
}
}
}
}
stage('git'){
steps{
script{
gitlabCommitStatus('git'){
checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'gitlablogin', url: 'http://192.168.100.81:81/devops/xhh-test.git']]])
}
}
}
}
stage('build') {
steps {
script{
gitlabCommitStatus('build'){
echo 'Hello World'
sh 'sleep 5'
}
}
}
}
}
}
效果图:
Jenkins常用插件:
gitlab 代码提交到Gitlab上后自动触发Jenkins构建
Pipeline Maven Integration Plugin 在pipeline中集成maven,即可使用withMaven{}命令
Config File Provider Plugin 可创建并管理Maven的settings文件及其他配置文件
Extended Choice Parameter 扩展的参数选择器