前言
我竟然不知道怎么写,...rt吧
1.首先在docker内部署springboot
-
在服务器生成公私钥,设置为部署公钥.
-
从仓库内拉取完整的springboot 项目
-
安装java和maven.
-
测试打包和运行是否成功
imagemvn package java -jar target/xxx.jar
测试ok
-
编写dockerfile.生成镜像
在项目根目录下生成一个Dockerfile
FROM openjdk:8-jdk-alpine ADD target/xx.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"]
提交到仓库,并同步到服务器上.执行docker build
imagedocker build -t disheng/xxx:v0.1 .
镜像打包成功
-
运行镜像,测试.
docker run -p 8080:8080 -d disheng/xxxx
测试服务是否启动成功.
2.在jenkins 中完成上述工作.
-
安装jenkin ,安装相关hooks和ssh插件
可以看笔者的过往文章 https://www.jianshu.com/p/a39904ffbdf7
-
生成jenkins内的公私钥,配置好应用服务器的免密登录.
-
创建自由风格的软件项目
-
配置webhooks触发构建
-
增加构建步骤 Send files or execute commands over SSH
exec command:
cd /xxx/xxx
pwd
git pull
mvn package
docker build -t disheng/xxxx:${BUILD_ID} . //根据构建次数来定义版本号
docker stop springbootapp //停止已经运行的容器
docker rm springbootapp //删除已经停止的容器
docker image rm disheng/xxxx:`expr ${BUILD_ID} - 1` //删除旧版本的无用镜像
docker run -p 8080:8080 -d --name="springbootapp" disheng/xxxx:${BUILD_ID}
建议在高级中勾选回显.可以根据反馈结果调试
结果
image
参考
https://www.cnblogs.com/cay83/p/7537823.html
网友评论