在如今的互联网时代,随着软件开发复杂度的不断提高,软件开发和发布管理也越来越重要。目前已经形成一套标准的流程,最重要的组成部分就是持续集成(Continuous Integration,CI)及持续部署、交付(CD)。在此,我们来以一个案例初步了解 CI 流程。那么什么是 CI 呢?简单来讲,CI 就是将传统的代码合并、构建、部署、测试都集成在一起,不断地执行这个过程,并对结果进行反馈。
CI 流程设计图:
工作流程:
开发人员提交代码到Git版本仓库;
Jenkins人工/定时触发项目构建;
Jenkins拉取代码、代码编码、打包镜像、推送到镜像仓库;
Jenkins在Docker主机创建容器并发布
主机环境规划:
docker-jenkins: 10.0.0.98
docker-git-harbor:10.0.0.99
安装:
配置git用户:
创建库:
另一台docker-jenkins访问该仓库:
模拟生产项目,拉取github上的一个demo,并上传至本地git库
部署jdk环境及maven
在10.0.0.98主机安装Jenkins,下载Tomcat二进制包将war包到webapps下即可:
启动后,浏览器访问http://10.0.0.98:8080/,按提示输入密码,登录即可。
企业级harbor镜像仓库部署:
https://www.cnblogs.com/kaye/p/10524391.html
构建Tomcat基础镜像,并推送到harbor镜像库:
由于jenkins是离线安装,所有在此需要配置一下插件下载地址:系统管理-->插件管理-->Advanced
修改下方地址,将https修改为http 再点Submit
Submit后点击Available,Check now此时我们可以看到很多可获得插件
首先搜索并安装Pipeline插件
pipeline 是一套运行于jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。
再安装SCM to job 插件,同上步骤(搜索,安装)。
05 项目创建
创建jobs
选择流水线类型
到这里我们就开始配置Pipeline script,点击Pipeline语法,来自动生成我们需要的配置。
如下图,我们Git方式,配置Git仓库地址,再添加认证相关。
这里我们使用的是秘钥认证方式,需要将jenkins上生成的公钥发送到git服务器上,然后将jenkins上的生成的私钥内容粘贴到下图Key中,这样jenkins就可以免交互的拉取git仓库中的代码了。
配置完成后,我们就可以生成Pipeline脚本了。点击下方Generate Pipeline Script,然后复制方框内的内容。
编写我们所需要的Pipeline脚本如下,将其粘贴到script的拉取代码模块中,并修改分支master为${branch},其他模块内容自行编写。
在Pipeline脚本里面我们指定了一个branch参数,所以我们需要传递一个参数变量,这里我们选择参数化构建,默认值为master分支。
然后保存配置。
06 开始构建任务
回到主界面,我们开始构建任务
可以通过Console Output输出查看jenkins构建流程
成功构建会提示: SUCCESS
我们也可以查看构建成功后的图形构建过程
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
上一篇:STL与其空间配置器