jenkins ci demo pipeline
job命名 ci_project_service_dev
ci_project_service_qa
参数化构建 branch,dev构建是参数化分支,qa构建只有qa分支
丢弃旧的构建 保留3个
--------------------------------------------------------------
def label = "master"
node(label) {
stage('Checkout JavaSrc') {
sh "rm ./* -fr"
git credentialsId: 'gitaccount', url: "https://gitee.com/yangxlgit/guestbook.git", branch: "master"
}
stage('build jar ') {
sh "/usr/bin/mvn clean package"
echo "mvn build done"
}
stage('upload jar ') {
//sh "scp target/hello-world-1.0-SNAPSHOT.jar root@172.16.1.10:/root/"
echo "upload jar done"
}
stage('checkout dockerfile') {
checkout(
[$class: 'GitSCM',
branches: [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'dc-dockerfile']],
submoduleCfg: [],
userRemoteConfigs:[[credentialsId: 'gitaccount', url: 'https://gitee.com/yangxlgit/guestbook.git']]
]
)
sh "cp -f ./dc-dockerfile/Dockerfile-MicroService ./Dockerfile"
//sh "cp -f ./dc-dockerfile/test/microservice/entrypoint.sh ./entrypoint.sh"
//sh "sed -i 's#target/.*jar #'`ls '${Jar_dir}'/*.jar`' #g' Dockerfile"
sh "cat Dockerfile"
}
stage('build image ') {
//withCredentials(
// [[$class: 'UsernamePasswordMultiBinding',
// credentialsId: 'harbor-for-ci-cd',
// usernameVariable: 'USERNAME',
// passwordVariable: 'PASSWORD']] )
//sh "docker login -u ${USERNAME} -p ${PASSWORD} harbor.product.co-mall"
sh "docker build -t centos7.localdomain:5000/cicd:v1.1 . "
sh "docker push centos7.localdomain:5000/cicd:v1.1 "
}
}

浙公网安备 33010602011771号