一、环境需要:
- 1.linux服务器,安装好java环境
- 2.安装配置好maven
- 3.安装git,配置好ssh访问
- 4.安装好docker
由于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等工具来完成。












网友评论