jenkins pipeline 配置与使用(svn版)
jenkins pipeline 配置与使用(svn版)环境检测(基于centos)java环境tomcat环境maven环境docker环境 (不是必要的)安装javahttps://www.cnblogs.com/stulzq/p/9286878.html安装tomcathttps://blog.51cto.com/13525470/2073657安装maven...
·
jenkins pipeline 配置与使用(svn版)
环境检测(基于centos)
java环境
tomcat环境
maven环境
docker环境 (不是必要的)
安装java
https://www.cnblogs.com/stulzq/p/9286878.html
安装tomcat
https://blog.51cto.com/13525470/2073657
安装maven
https://blog.csdn.net/myNameIssls/article/details/54140176
安装docker
https://blog.csdn.net/ZPJeck/article/details/103279832
部署jenkins
把jar包放到tomcat 的webapps中
跳过启动和下载插件环节,直接开始新建流水线
项目描述
参数化构建
插件:Extended Choice Parameter
pipeline
pipeline {
agent any
environment{
MAVEN_HOME = "/usr/maven/apache-maven-3.6.1"
}
stages {
stage('拉取代码'){
steps {
echo env.version
echo 'pull code '
// 此处填写svn 链接
}
}
stage('编译打包'){
steps {
echo "开始编译"
sh "${MAVEN_HOME}/bin/mvn clean package -Dmaven.test.skip=true "
}
}
stage('制作和上传镜像'){
steps{
sh "chmod +x jenkins.sh"
sh "vi +':w ++ff=unix' +':q' jenkins.sh"
// sh " ./jenkins ${env.choice} ${env.version}"
sh " sh jenkins.sh ${env.choice} ${env.version}"
}
}
}
}
Dockerfile : 放在Java项目中,与target同级目录(根据自己需求存放)
FROM java:8
ADD upload-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch app.jar'
EXPOSE 8200
ENTRYPOINT ["java","-jar","/app.jar"]
jenkins.sh :放在项目中(根据自己需求存放)
#!/bin/bash
tenv="$1"
version="$2"
echo $tenv
cd KCB-Http/
docker build -t http-$tenv:$version -f Dockerfile-$tenv .
docker tag http-$tenv:$version 192.168.1.136:8900/library/http-$tenv:$version
cd ../KCB-Sync/
docker build -t sync-$tenv:$version -f Dockerfile-$tenv .
docker tag sync-$tenv:$version 192.168.1.136:8900/library/sync-$tenv:$version
echo "登录Harbor"
docker login 192.168.1.136:8900 -u admin -p Vkdata668
echo "上传镜像"
docker push 192.168.1.136:8900/library/http-$tenv:$version
docker push 192.168.1.136:8900/library/sync-$tenv:$version
获取svn链接: 点击流水线语法,选择 checkout: Check out from version control
复制生成的代码,拷贝到对应的拉区步骤里。
保存,打包,运行,上传到私有镜像仓库
成功
更多推荐
已为社区贡献1条内容
所有评论(0)