jenkins结合pipeline实现虚机和容器部署(1)

2020-07-31 14:55:21 浏览数 (1)

思路 {#思路}

整体思路很简单,拿虚机和容器做举例,这两种环境的思路都是一致的 服务部署在虚机或物理机上时:

  • 开发提交代码
  • Jenkins选择指定分支拉取代码
  • Jenkins进行maven打包
  • Jenkins将打包好的jar包传到目标服务器上
  • Jenkins通过ansible去启动目标服务器上的服务
  • 完成发版

服务部署在容器中时:

  • 开发提交代码
  • Jenkins选择分支拉取代码
  • Jenkins进行maven打包
  • Jenkins上进行docker镜像构建,把打好的jar包打进镜像里
  • Jenkins将构建好的docker镜像推送到私有仓库
  • Jenkins通过ansible在目标主机上执行docker-compose.yml或者在k8s主机上执行yaml文件完成发版

当然,上面还有回滚的功能,完整的一个图如下:

虚机完成部署 {#虚机完成部署}

说明: Jenkins、nexus、gitlab如何部署不再讲诉

创建一个pipeline风格的任务 {#创建一个pipeline风格的任务}

下面会使用到参数化构建,会用到几个插件,包括:choice parameter,Active Choices Parameter,Active Choices Reactive Parameter,Extended Choice Parameter等插件

0 人点赞