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
在这里插入图片描述
复制生成的代码,拷贝到对应的拉区步骤里。

保存,打包,运行,上传到私有镜像仓库

在这里插入图片描述
在这里插入图片描述

成功

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐