前言
公司想搞一个基于 docker 容器,自动打包发布的流程;主要应用于测试环境打包发布,之前也没做过。
自己想了两个流程发出来想和大家讨论一下。希望大家能给出一些建议。
基于宿主机打包
- GitLab:存储代码
- 宿主机:安装 Jenkins、Docker、maven 等构建依赖的工具。
- 容器:运行两个容器—1.postgres 数据库容器;2.Tomcat 容器;
流程:
1.宿主机 Jenkins 创建 job 拉取代码,打包;
2.使用 docker cp 将 war 包粘贴到 Tomcat 容器;
3.重启 Tomcat 容器。
容器内直接打包
- GitLab:存储代码
- 公司内网服务器:安装 Jenkins
- 另外服务器:运行两个容器:容器 A 安装 jenkins、tomcat、maven、git 等等;容器 B 安装 postgres 数据库;
公司内网服务器安装的 Jenkins,作 master;容器 A:jenkins 做 slave
流程:
1.执行内网服务器中 jenkins-job;
2.容器 Ajenkins 拉去代码,构建打包;
3.粘贴 war 包至 tomcat 相应路径;
4.重启 tomcat。