CI/CD为持续集成(Continuous Integration)和持续部署(Continuous Deployment)的总称,是经过自动化的构建、测试和部署,实现软件产品可循环使用的快速交付流程。java
下面咱们就用Jenkins+Docker完成一个SpringBoot的部署。git
一个 Dockerfile
模板文件,能够让用户很方便的定义一个单独的应用容器,Dockerfile内容以下:docker
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内容以下:bash
demo: build: . ports: - "8888:8080" - "80:80"
命令脚本以下:服务器
cd /opt/war /usr/local/bin/docker-compose down --rmi all /usr/local/bin/docker-compose up -d