springboot docker集成可持续开发

2021-02-23  本文已影响0人  matthewfly
一、环境需要:

由于springboot内嵌web服务,简单来说将打包好的jar包推送到服务器就可以直接java -jar运行了,但这样每次都本地打包推送服务器,然后java -jar允许效率很低。快捷的方式就是,服务器直接从代码仓库拉取代码、打包、部署。

二、一个简单例子,在github的helloworld工程test,一行命令重新部署:

1.在服务器上将工程拉取到本地,并进入工程根目录

2.创建Dockerfile,构建docker镜像,Dockerfile内容如下:

FROM java:8
VOLUME /tmp
ADD /target/test-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

执行构建命令:docker build -t test-image -image .
启动镜像:docker run -p 8080:8080 --name test -d test-image
此时,项目已经成功在docker启动了。

3.创建构建脚本:

git pull
mvn clean package -DskipTests
ls ./target
docker cp ./target/test-0.0.1-SNAPSHOT.jar test:/app.jar
docker restart test

命令解释:
git pull: 从仓库拉取最新代码
mvn clean package -DskipTests: 打包项目
docker cp ./target/test-0.0.1-SNAPSHOT.jar test:/app.jar: 拷贝jar包到dokcer容器目录下
docker restart test:重启容器test

4.给脚本可执行权限 chmod +x , 运行命令即可。

三、持续开发工具

上述命令演示了可持续开发的原理,但每次都需要登录服务器执行命令也不方便,并且还需要切分支、配置环境变量等操作。所以可依赖jenkins、quickbuild等工具来完成。

上一篇 下一篇

猜你喜欢

热点阅读