这里是指使用 Jenkins 做测试、预发、生产三个环境时,对于多个项目时使用不同方式来进行多环境的流程探索,不讨论语言、编译脚本之类的。
使用 Jenkins Folders Plugin 可以添加嵌套的文件夹,方便进行类型的区分。
首先以大的组织来区分,比如 group-a 、group-b 等,对应的可能是部门、大组之类的,如:
每个组织下会有环境的名称,如:test 测试、stg 预发布、prd 生产,如:
而每个环境下是具体的项目,这种结构比较清晰,方便定位,但会导致发布任务需要有多份,如:
使用参数化构建创建环境选择菜单,当然如果要在选择环境后还要关联显示对应的参数,如:部署机器 Host ,可以使用 Jenkins Active Choices Plugin 创建动态关联参数,如:
使用 Pipeline 方式创建任务,把测试、预发、生产在一个任务里配置,而测试环境是自动部署,预发布和生产需要手机继续,如:
方案名称 | 优点 | 缺点 |
---|---|---|
文件夹 | 目录结构清晰 | 维护多个任务配置,升级时麻烦 |
参数化 | 任务更具体 | 配置较复杂、可能容易点错 |
Pipeline | 流程更明确 | 配置复杂、占用资源 |