前言
软件开发生命周期从瀑布式到敏捷再到现在的DevOps。记得刚入行的时候还是敏捷的天下,在不同公司敏捷的实践中或多或少感受到了团队间合作衔接的效率问题;即使敏捷宣言所倡导是高效,但是实施过程中还是有资源的浪费和瓶颈。DevOps它的精益原则,关注点就是在流程中移除浪费:比如人工部署,系统的频繁中断,PO/SM的一些失败的约定等。今天的主题就是用自动部署代替人工部署以减少资源的浪费。
搭建平台前的准备
虚拟机A(Windows server):JDK, Maven, Tomcat, Jenkins, Bitvise SSH server
虚拟机B(Linux):JDK, Tomcat, Docker
虚拟机C(Linux):用Harbor作镜像仓库
注:关键的配置要点会在步骤说明中体现;JDK,tomcat等基础配置不再叙述
技术实现思路
-
利用Jenkins把编译好的代码从SVN拉到虚拟机A上
-
通过Maven+Tomcat生成War包
-
使用Bitvise SSH server把War包从虚拟机A拷贝到虚拟机B上
-
在虚拟机B上将War包通过Dockerfile的方式生成Image
-
将镜像存入Harbor
搭建部署说明
-
在Jenkins新建一个自由风格的项目