github+jenkins+maven+docker自动化构建部署
前言 传统的开发、测试、部署方式,是由开发人员本机或打包机进行打包,将war包提交给测试人员部署,测试通过后,再由实施人员负责部署到预发、生产环境中。中间的衔接不连贯,容易出错,而且打包、部署存在重复的工作量。自动化构建部署(CICD)就是解决该问题,将从开发到部署的一系列流程变成自动化,衔接连贯,在构建失败时能够告知开发,构建成功后能够告知测试和实施人员。无论大中小公司,都应该有此流程。 我本人在前公司搭建了基于svn(git)+jenkins+maven的自动化构建部署结构,所出的war包部署在tomcat中。此架构仍然不可避免要安装jdk、tomcat、mysql、nginx等应用,而且需要配置环境变量,使用docker可解决上述问题,将所有服务打包成docker镜像,推送到docker registry中。docker的优点就不在这里赘述了 目标 最终目标 :在linux系统中,搭建 jenkins 服务,定时(或githook)的方式从 github 上拉取maven工程,构建war包。使用docker构建image,推送到 docker registry 上。 我使用的是ubuntu系统,使用docker形式的jenkins,拉取github工程,gitlab同理,构建war包,再在tomcat镜像的基础上将war包进去,构成新镜像,推送到阿里的registry中