- 安装插件
Extended Choice Parameter Plugin
-
新建立一个自由风格的项目
-
shell 解释
#!/bin/bash
# 写入当前要打的包的名字
echo $jar_name > docker_container.txt # 这个自定义的文档会进入到当前的项目的工作空间中
IFS=$',' # 定义分割符号,是根据你上面的定义的分割符号进行定义
j=0 # 定义初始值
i=1 # 定义每次循环一次要加的值
for line in `cat ./docker_container.txt` # 循环读取文件夹中的内容
do
let j=i++
echo "第'$j' 次打包第一个'$line' 包 "
if [ ${line} == user-center-auth ]; then
cd $WORKSPACE/$line && /app/apache-maven-3.6.3/bin/mvn install package && echo "auth is successfully packaged" # 这个地方的打包 是你的后端项目必须支持 单个打包的能力才可以
rsync -avz -og --chown root:root $WORKSPACE/$line/target/user-center-auth.jar root@$server:/root/user-center-auth
ssh -t root@$server<<EOT # -t: 是让jenkis 用户 登陆时 建立一个伪终端
docker stop auth && docker rm auth && docker volume rm docker-compose_auth_logs && docker rmi auth
cd /root/docker-compose/ && docker-compose up -d user_center_auth
exit
EOT
elif [ ${line} == user-center-gateway ]; then
cd $WORKSPACE/$line && /app/apache-maven-3.6.3/bin/mvn install package && echo "gateway is successfully packaged"
rsync -avz -og --chown root:root $WORKSPACE/$line/target/user-center-gateway.jar root@$server:/root/user-center-gateway
ssh -t root@$server<<EOT
docker stop gateway && docker rm gateway && docker volume rm docker-compose_gateway_logs && docker rmi gateway
cd /root/docker-compose/ && docker-compose up -d user_center_gateway
exit
EOT
elif [ ${line} == user-center-project ]; then
cd $WORKSPACE/$line && /app/apache-maven-3.6.3/bin/mvn install package && echo "project is successfully packaged"
rsync -avz -og --chown root:root $WORKSPACE/$line/target/user-center-project.jar root@$server:/root/user-center-project
ssh -t root@$server<<EOT
docker stop project && docker rm project && docker volume rm docker-compose_project_logs && docker rmi project
cd /root/docker-compose/ && docker-compose up -d user_center_project
exit
EOT
else
echo "${line}: 打包失败,请重新检查,再次打包"
fi
done
- mvn 命令详解
mvn package:打包到本项目,一般在项目target目录下。
mvn install:打包到本地仓库,如果没设置Maven本地仓库,一般在用户/.m2目录下。
mvn deploy:打包上传到远程仓库,如:私服nexus等,需要配置pom文件。