CI/CD为持续集成(Continuous Integration)和持续部署(Continuous Deployment)的总称,是通过自动化的构建、测试和部署,实现软件产品可循环使用的快速交付流程。
下面我们就用Jenkins+Docker完成一个SpringBoot的部署。
一、 在SpringBoot工程中增加Docker的配置文件Dockerfile和docker-compose.yml,如下:
一个 Dockerfile
模板文件,可以让用户很方便的定义一个单独的应用容器,Dockerfile内容如下:
FROM java:8
VOLUME /tmp
ADD demo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Docker Compose
是 Docker 官方编排(Orchestration)项目之一,实现对 Docker 容器集群的快速编排 负责快速的部署分布式应用。docker-compose.yml内容如下:
demo:
build: .
ports:
- "8888:8080"
- "80:80"
二、应用服务器上安装好docker
三、jenkins的配置
- 新建一个自由风格的项目
- 配置工程代码的git地址
- 选择maven对项目进行构建
- 构建成功后,把对应的docker文件夹中的Dockerfile和docker-compse.yml文件以及打好的工程jar包传到服务器,并执行脚本命令。
命令脚本如下:
cd /opt/war
/usr/local/bin/docker-compose down --rmi all
/usr/local/bin/docker-compose up -d
- 应用程序日志查看