Jenkins集成部署

34 阅读4分钟

sudo service jenkins stopCentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org;"之解决办法(换源)

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

关闭防火墙

sudo service firewalld stop
sudo systemctl disable firewalld

安装Linux相关工具

sudo yum install wget vim net-tools git java-11-openjdk* -y
  • git工具:用于jenkins拉取远程代码
  • java-11-openjdk*:jenkins-2.426.3-1.1版本需要jdk11及以上

maven软件包地址(旧版本)

https://archive.apache.org/dist/maven/maven-3/

配置Maven3.6.2

wget https://archive.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz

-- 解压
tar -zxf apache-maven-3.6.2-bin.tar.gz
-- 重命名
mv apache-maven-3.6.2 maven362/conf/settings.xml
-- 编辑settings.xml
vim /root/maven362/conf/settings.xml

-- 增加以下内容

-- 本地仓库地址
<localRepository>/path/to/local/repo</localRepository>
-- 在mirrors标签下配置aliyun私服镜像地址
<mirror>  
  <id>alimaven</id>  
  <name>aliyun maven</name>  
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  <mirrorOf>central</mirrorOf>          
</mirror>

-- servers标签下配置harbor镜像私服地址、账号密码
<servers>
    <id>docker-harbor</id>
    <username>oper</username>
    <password>Passw0rd!</password>
</server>

下载jdk8,项目使用的是jdk8版本,且jenkins可以配置使用指定版本的jdk进行项目启动

进入oracle官网,登录下载

jenkins的rpm包镜像源地址

https://mirrors.jenkins-ci.org/

下载jenkins rpm包

wget https://mirrors.jenkins-ci.org/redhat-stable/jenkins-2.426.3-1.1.noarch.rpm

安装jenkins

sudo sudo rpm -ivh /root/jenkins-2.426.3-1.1.noarch.rpm

-- 编辑启动配置文件
sudo vim /usr/lib/systemd/system/jenkins.service

-- 修改安装目录所属用户、用户组(建议设置为当前shell用户)
User=root  
Group=root
-- 端口号
Environment="JENKINS_PORT=8080"

-- 启动jenkins,第一次启动会有点慢,jenkins要进行初始化
sudo service jenkins start
-- 停止
sudo service jenkins stop
-- 启动状态
sudo service jenkins status

--访问jenkins
http://172.16.215.82:8080/login?from=%2F

-- 获取初始密码
cat /var/lib/jenkins/secrets/initialAdminPassword

-- 选择安装插件
-- 选择无
-- 安装插件设置
1、Manage Jenkins>>Plugins>>Advanced settings(高级设置)>>Update Site(修改为:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json)

2. 更换插件源,不然下载插件会失败、很慢
cd /var/lib/jenkins/updates

sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/https:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

3.插件下载
1、Chinese   中文汉化
2、Role-based Authorization Strategy 用户角色权限管理  
3、Credentials Binding  相关密码凭证管理 
4、git插件
5、Maven Integration 构建类型
6、pipeline          构建类型
7、publish over ssh  连接远程服务器并部署服务
8、Deploy to container  服务部署发布到远程Tomcat容器
9.nodejs
10.Email Extension 可以定制邮件模板  
2429916391@qq.com
oppnjjrppjhqecja

4、重启jenkins
http://172.16.215.82:8080/restart 

5、基础设置
1、Manage Jenkins>>Security>>授权策略>>选择Role-Based Strategy
-- 2、Manage Jenkins>>Manage and Assign Roles>>Manage Roles>>Global roles>>Role to add>>添加baseRole角色(Overall:read)
-- 3、Manage Jenkins>>Manage and Assign Roles>>Assign Roles>>Global roles>>Role to add>>添加baseRole角色(Overall:read)

2、Manage Jenkins>>Jenkins’ own user database>>新建用户
3、
Manage Jenkins>>Tools>>JDK 安装>>jdk8(/root/jdk8)
Manage Jenkins>>Tools>>Maven 安装>>maven362(/root/maven362)

4、Manage Jenkins>>System>>全局属性>>键值配置
JAVA_HOME:/root/jdk8
MAVEN_HOME:/root/maven362
PATH:$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

docker安装(23.0版本已经集成docker compose)

CentOS 7(使用 yum 进行安装)

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
安装指定版本的Docker-CE:
查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-23.0.0-1.el7
配置镜像加速器
sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.m.daocloud.io","https://docker.1panel.live"]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker
验证:docker version

docker-ce-23.0.0-1.el7默认去掉守护进程端口(非必要不开启)
编辑vim /lib/systemd/system/docker.service
在ExecStart增加参数: -H tcp://0.0.0.0:2375

# 使修改生效
sudo systemctl daemon-reload
# 重启docker
sudo systemctl restart docker
# 验证2375远程端口
curl -X GET http://172.16.215.82:2375/info

docker harbor搭建私有仓库仓库

获取安装包
wget https://github.com/goharbor/harbor/releases/download/v2.5.6/harbor-offline-installer-v2.5.6.tgz

解压
tar -zxf harbor-offline-installer-v2.5.6.tgz
进入安装目录
cd harbor
备份配置文件
cp harbor.yml.tmpl harbor.yml

编辑harbor.yml文件,harbor默认访问方式是https
1、hostname: harbor安装服务器IP
2、修改http.port=82
3、注释掉https
4、修改harbor默认登录密码
harbor_admin_password: Passw0rd!

执行 ./prepare
执行 ./install.sh

浏览器打开:http://172.16.215.82:82/
默认账号密码:admin/上面修改harbor登录密码

使用IP地址则需要在 /etc/docker/daemon.json中配置以下内容,因为 Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制
sudo vim /etc/docker/daemon.json

# 添加到docker信任列表
"insecure-registries": ["172.16.215.82:82"]

登录harbor私服
docker login -u oper -p Passw0rd! 172.16.215.82:82

在项目中标记镜像
docker tag SOURCE_IMAGE[:TAG] 172.16.215.82:82/multi-module-project/REPOSITORY[:TAG]
推送镜像到当前项目:
docker push 172.16.215.82:82/multi-module-project/REPOSITORY[:TAG]

docker pull 172.16.215.82:82/multi-module-project/registry

docker registry搭建私有仓库

使用IP地址则需要在 /etc/docker/daemon.json中配置以下内容,因为 Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制
sudo vim /etc/docker/daemon.json

# 信任列表
"insecure-registries": ["172.16.215.82:5000"]


创建数据挂载目录
mkdir -p /root/docker/registry

-- 创建registry容器服务
docker run --name registry -d \
-p 5000:5000 --restart=always \
-v /root/docker/registry:/var/lib/registry \
registry

推送镜像到私有仓库
docker push ip:5000/session-web:latest

查看镜像
curl 127.0.0.1:5000/v2/_catalog

docker (Gogs)搭建私有代码仓库

创建数据挂载目录
mkdir -p /root/gogs

-- 创建gogs容器服务
docker run --name=gogs --restart=always -p 10022:22 -p 13000:3000  -v /root/gogs:/data -d gogs/gogs

-p 10022:22: 将容器的SSH服务端口22映射到宿主机的端口10022
-p 13000:3000: 将容器HTTP服务端口3000映射到宿主机的端口10080,可以通过浏览器访问Gogs的Web界面

jenkins使用docker部署Springboot多模块、使用harbor私服进行镜像管理

springboot多模块项目结构

multi-module-project
   cuicc-dev
  		pom.xml
   cuicc-base
   		pom.xml
   cuicc-test
   		pom.xml
   cuicc-parent
   		pom.xml
   docker.sh
====================== docker.sh 内容======================   
#!/bin/bash
   
======================cuicc-base pom.xml======================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <artifactId>cuicc-base</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>com.cuicc</groupId>
        <artifactId>cuicc-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../cuicc-parent</relativePath>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

</project>

======================cuicc-dev pom.xml======================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <artifactId>cuicc-dev</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>com.cuicc</groupId>
        <artifactId>cuicc-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../cuicc-parent</relativePath>
    </parent>


    <dependencies>
        <dependency>
            <groupId>com.cuicc</groupId>
            <artifactId>cuicc-base</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <finalName>${project.artifactId}-${project.version}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <!--<configuration>-->
                <!--<mainClass>com.jenkins.jenkinsdev.JenkinsDevApplication</mainClass>-->
                <!--<skip>true</skip>-->
                <!--</configuration>-->
                <executions>
                    <execution>
                        <!--<id>repackage</id>-->
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.2</version>
                <configuration>
                    <!--<imageName>172.16.215.82:82/multi-module-project/${project.artifactId}:${project.version}</imageName>-->
                    <imageName>172.16.215.82:82/${project.top.name}/${project.artifactId}:${project.version}</imageName>
                    <baseImage>openjdk:8-jdk-alpine</baseImage>
                    <workdir>/root</workdir>
                    <resources>   <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                        <resource>
                            <targetPath>/root</targetPath>  <!--复制到镜像位置,参考workdir-->
                            <directory>${project.build.directory}</directory>  <!--jar包目录-->
                            <include>${project.build.finalName}.jar</include>  <!--jar包-->
                        </resource>
                    </resources>
                    <cmd>["java", "-version"]</cmd>
                    <!--<dockerDirectory>./</dockerDirectory>-->   <!-- 指定 Dockerfile 路径-->
                    <!--2375是docker的远程端口,插件生成时连接docker,这里需要制定docker远程端口-->
                    <dockerHost>http://172.16.215.82:2375</dockerHost>
                    <entryPoint>["java","-Dfile.encoding=utf8","-jar","/root/${project.build.finalName}.jar"]</entryPoint>
                    <!--<exposes>8081</exposes>-->
                    <!--是否推送镜像到私有仓库,旧版本插件要配置maven的setting文件-->
                    <pushImage>true</pushImage>
                    <!--docker harbor仓库登陆认证信息-->
                    <serverId>docker-harbor</serverId>
                    <!--docker harbor仓库地址-->
                    <registryUrl>172.16.215.82:82</registryUrl>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
======================cuicc-test pom.xml======================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <artifactId>cuicc-test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>com.cuicc</groupId>
        <artifactId>cuicc-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../cuicc-parent</relativePath>
    </parent>

    <dependencies>
        <dependency>
            <groupId>com.cuicc</groupId>
            <artifactId>cuicc-base</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <finalName>${project.artifactId}-${project.version}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <!--<configuration>-->
                <!--<mainClass>com.jenkins.jenkinsdev.JenkinsDevApplication</mainClass>-->
                <!--<skip>true</skip>-->
                <!--</configuration>-->
                <executions>
                    <execution>
                        <!--<id>repackage</id>-->
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.2</version>
                <configuration>
                    <imageName>172.16.215.82:82/multi-module-project/${project.artifactId}:${project.version}</imageName>
                    <baseImage>openjdk:8-jdk-alpine</baseImage>
                    <workdir>/root</workdir>
                    <resources>   <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                        <resource>
                            <targetPath>/root</targetPath>  <!--复制到镜像位置,参考workdir-->
                            <directory>${project.build.directory}</directory>  <!--jar包目录-->
                            <include>${project.build.finalName}.jar</include>  <!--jar包-->
                        </resource>
                    </resources>
                    <cmd>["java", "-version"]</cmd>
                    <!--<dockerDirectory>./</dockerDirectory>-->   <!-- 指定 Dockerfile 路径-->
                    <!--2375是docker的远程端口,插件生成时连接docker,这里需要制定docker远程端口-->
                    <dockerHost>http://172.16.215.82:2375</dockerHost>
                    <entryPoint>["java","-Dfile.encoding=utf8","-jar","/root/${project.build.finalName}.jar"]</entryPoint>
                    <!--<exposes>8082</exposes>-->
                    <!--是否推送镜像到私有仓库,旧版本插件要配置maven的setting文件-->
                    <pushImage>true</pushImage>
                    <!--docker harbor仓库登陆认证信息-->
                    <serverId>docker-harbor</serverId>
                    <!--docker harbor仓库地址-->
                    <registryUrl>172.16.215.82:82</registryUrl>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

======================cuicc-parent pom.xml======================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.cuicc</groupId>
    <artifactId>cuicc-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.3.12.RELEASE</spring-boot.version>
        <org.projectlombok.version>1.18.30</org.projectlombok.version>
        <project.top.name>multi-module-project</project.top.name>
    </properties>

    <modules>
        <module>../cuicc-dev</module>
        <module>../cuicc-test</module>
        <module>../cuicc-base</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${org.projectlombok.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <finalName>${project.name}</finalName>
        <!--编译打包过虑配置-->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <!--指定项目源码jdk的版本-->
                    <source>1.8</source>
                    <!--指定项目编译后的jdk的版本-->
                    <target>1.8</target>
                    <!--配置注解预编译-->
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${org.projectlombok.version}</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>

            <!--责处理项目资源文件并拷贝到输出目录,如果有额外的资源文件目录则需要配置-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.3.0</version>
                <configuration>
                    <encoding>utf-8</encoding>
                    <!--使用默认分隔符,resource中可以使用分割符定义过虑的路径-->
                    <useDefaultDelimiters>true</useDefaultDelimiters>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

jenkins配置

========================General选项下======================

勾选:This project is parameterized

1.添加String Parameter参数
参数名称:ProjectBranch  默认值:master  描述:当前构建分支 
勾选清除空白字符

2.添加Boolean Parameter
参数名称:DEV  勾选Set by Default 描述:cuicc-dev项目

3.添加Boolean Parameter
参数名称:TEST  勾选Set by Default 描述:cuicc-TEST项目

4、在高级选项里,找到显示名称:可以修改jenkins job名称


========================源码管理======================
1,输入git仓库地址
2.git仓库访问账号密码
3.指定分支,填入General选项上 $ProjectBranch即可

========================Pre Steps======================
1.选择 Add pre-build step 选择Execute shell

脚本说明:在构建前,先把远程服务器上的服务停掉,镜像删掉)

echo "" >> $WORKSPACE/docker.sh
echo "export DEV=$DEV" >> $WORKSPACE/docker.sh 
echo "export TEST=$TEST" >> $WORKSPACE/docker.sh

echo "" >> $WORKSPACE/docker.sh

echo "CUICC_DEV=\`docker ps -a|grep cuicc-dev | awk '{print \$1}'\`" >> $WORKSPACE/docker.sh 
echo "if [ \$DEV == "true" -a -n \$CUICC_DEV ]; then" >> $WORKSPACE/docker.sh 
echo "docker stop cuicc-dev" >> $WORKSPACE/docker.sh 
echo "docker rm cuicc-dev" >> $WORKSPACE/docker.sh
echo "docker rmi \`docker images | grep cuicc-dev | awk '{print \$3}'\`" >> $WORKSPACE/docker.sh 
echo "echo 'cuicc-dev服务已清理'" >> $WORKSPACE/docker.sh 
echo "fi" >> $WORKSPACE/docker.sh 


echo "CUICC_TEST=\`docker ps -a|grep cuicc-test | awk '{print \$1}'\`" >> $WORKSPACE/docker.sh 
echo "if [ \$TEST == "true" -a -n \$CUICC_TEST ]; then" >> $WORKSPACE/docker.sh 
echo "docker stop cuicc-test" >> $WORKSPACE/docker.sh
echo "docker rm cuicc-test" >> $WORKSPACE/docker.sh 
echo "docker rmi \`docker images | grep cuicc-test | awk '{print \$3}'\`" >> $WORKSPACE/docker.sh 
echo "echo 'cuicc-test服务已清理'" >> $WORKSPACE/docker.sh 
echo "fi" >> $WORKSPACE/docker.sh 


2.选择 Add pre-build step 选择Send files or execute commands over SSH
1.选择SSH Server
2.Transfers >> Source files >> 填入docker.sh
3.Transfers >> Remote directory >> 填入/(跟目录)
4.Transfers >> Exec command >> (docker.sh文件上传成功之后,在远程服务器上执行的命令)
chmod +x /root/docker.sh
/bin/bash -c /root/docker.sh

3.选择 Add pre-build step 选择Execute shell
脚本说明:开始构建项目,生成镜像文件、并上传到私服,同时把服务启动的脚本统一在docker.sh中执行

echo "#!/bin/bash" > $WORKSPACE/docker.sh
echo "" >> $WORKSPACE/docker.sh
mvn clean install -DskipTests -f cuicc-parent/pom.xml

if [ $DEV == "true" ]; then
echo "开始构建cuicc-dev项目"
mvn -DskipTests docker:build -f cuicc-dev/pom.xml
echo 'echo "开始执行cuicc-dev服务"' >> $WORKSPACE/docker.sh
echo "docker run --name  cuicc-dev -p 8081:8081 --restart=always -d 172.16.215.82:82/multi-module-project/cuicc-dev:1.0-SNAPSHOT" >> $WORKSPACE/docker.sh
fi

if [ $TEST == "true" ]; then
echo "开始构建cuicc-test项目"
mvn -DskipTests docker:build -f cuicc-test/pom.xml
echo 'echo "开始执行cuicc-test服务"' >> $WORKSPACE/docker.sh
echo "docker run --name  cuicc-test -p 8082:8082 --restart=always -d 172.16.215.82:82/multi-module-project/cuicc-test:1.0-SNAPSHOT" >> $WORKSPACE/docker.sh
fi

========================Build======================
1.Root POM是必填的,如果是多模块的话,需要指定统一依赖管理的pom.xml,这里我的是cuicc-parent/pom.xml


========================Post Steps======================
1.选择Run only if build succeeds
2.添加 Add post-build step 选择Execute shell >> 选择Send files or execute commands over SSH
3.选择SSH Server
4.Transfers >> Source files >> 填入docker.sh
5.Transfers >> Remote directory >> 填入/(跟目录)
6.Transfers >> Exec command >> (docker.sh文件上传成功之后,在远程服务器上执行的命令)
chmod +x /root/docker.sh
/bin/bash -c /root/docker.sh