Jenkins使用docker镜像编译Java项目
原创
©著作权归作者所有:来自51CTO博客作者wx63aa591258077的原创作品,请联系作者获取转载授权,否则将追究法律责任
第一步:配置本地服务器的环境
yum -y install docker //下载docker
docker pull docker.io/onelouder/atlas-builder:latest //下载maven的docker镜像,不需要本地配置环境,只需要下载或者自己配置镜像,可以是别的maven镜像
第二步:配置Jenkins,下载好docker相关的插件
插件:

新建项目选择pipline

建好项目选择配置

选项选好,需要注意url是你jenkinsfile所在地


脚本路径指的是Jenkinsfile路径,就是你的gitlab或者githup或者gitee上面的Jenkinsfile绝对路径
还需要就是凭据配置,可以直接创建凭据:
这个凭据使用的是用户名密码的方式,这个用户名密码指的是gitlab上面的,就是你访问代码库的那个地址

第三步:配置gitlab的代码仓库,也就是上图的脚本路径,在你项目的根目录
在gitlab下面的显示配置就是:

文件路径:vsm/tss/tss_jenkinsfile
def get_branch(repo) {
def cmd = "git ls-remote -t -h ${repo} |awk \'{print \$2}\'|sed \'s#refs/heads/##g\'"
script {
return sh(script : cmd, returnStdout: true).trim()
}
}
pipeline {
agent {label 'centos7'}
stages {
stage('mvn build') {
agent {
docker {
image 'docker.io/onelouder/atlas-builder:latest' //镜像需要下载到本地服务器,Jenkins优先使用本地镜像
args '-v /var/jenkins_home/.m2:/root/.m2'
}
}
steps {
checkout([$class: 'GitSCM', branches: [[name: "3.1"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory',relativeTargetDir: 'git_vsm']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'ffdee9ec-d19d-4d98-abf2-9f143f212938', url: 'http://172.16.0.38:8000/vsm/tss.git']]])
//代码服务器项目地址,Jenkins的凭据,以及代码项目分支
dir("${WORKSPACE}/git_vsm") {
sh 'ls -al'
sh 'mvn clean install'
sh 'mvn -U clean package'
}
}
}
stage('repo') {
agent {label 'centos7'}
steps {
sh 'mv ${WORKSPACE}/git_vsm/target/*.jar /data/qwe/tss/tss-3.1-`date +%Y-%m-%d`.jar'
}
}
}
}
第四步
点击启动,项目就开始执行jenknsfile了,然后成功了,再把打好的包传到web服务器目录
