IBM Cloud Docs
以开发方式运行管道

以开发方式运行管道

CI 和 CD 管道的开发方式将测试 DevSecOps 配置 (yaml) 文件的实现,而不运行任何与安全性或合规性相关的任务。 开发方式还可减少管道执行时间。

仅将开发方式用于开发目的。 开发方式不是官方 DevSecOps CI 和 CD 管道的替代方法,它们仍然是参考实现。

使用简化的管道来开发,实现和测试对 .pipeline-config.yaml 文件所作的更改。 此管道具有以下特征:

  • 仅运行 .pipeline-config.yaml 文件的各个阶段。
  • 跳过与合规性和安全性相关的任务,以优化运行代码的时间。

先决条件

  • 现有 DevSecOps CI 或 CD 工具链。
  • .pipeline-config.yaml 以及相应的构建,测试和部署脚本。

设置开发方式

完成以下步骤以设置管道的开发方式:

  1. 转至 CI 或 CD 管道的 触发器 页面。

  2. 找到“手动触发器”,单击 操作 图标 "操作" 图标,然后单击 复制

    复制手动触发器
    图 1。 复制手动触发器

  3. 命名触发器。 例如,Manual-Dev-Mode

  4. EventListener 更改为 dev-mode-listener (对于 CI) 或 dev-mode-cd-listener (对于 CD)。

    开发方式触发器
    图 2。 更改事件侦听器

  5. 保存更改。

在 IaC 管道中设置开发方式

完成以下步骤以在“基础结构即代码”(IaC) 管道中设置开发方式:

  1. 转至 CI 管道的“触发器”页面。

  2. 找到“手动触发器”,单击 操作 图标 "操作" 图标,然后单击 复制

    复制手动触发器
    图 3。 复制手动触发器

  3. 命名触发器。 例如,Manual-IaC-Dev-Mode

  4. EventListener 更改为 iac-dev-mode-listener

    开发方式触发器
    图 4。 更改 iac 事件侦听器

  5. 保存更改。

运行开发方式管道

完成以下步骤以运行开发方式管道:

  1. 转至 PipelineRuns 页面。
  2. 单击 运行管道,然后选择您创建的 Manual-Dev-Mode 触发器。
  3. 单击运行

开发方式管道仅运行 .pipeline-config.yaml 文件中的代码。

所有其他安全性和合规性任务都不会运行,从而减少了管道执行时间。

标准和开发方式比较
图 5。 比较了标准和开发方式

CI 管道的开发方式

CI 管道从应用程序存储库构建可部署工件。

下表列出了 CI 管道的开发方式中的阶段。

表 1. CI 管道的开发阶段
Dev-mod-ci 管道阶段 阶段描述
code-ci-start 设置管道环境。 此过程包括将配置和应用程序存储库克隆到管道本地文件系统。
code-setup 设置构建和测试环境,以便为以下管道阶段做好准备。
code-unit-tests 对应用程序代码运行单元测试和应用程序测试。
build-artifact 构建工件和映像。
deploy-dev 将构建的工件部署到开发环境。
deploy-acceptance-tests 在开发环境上对已部署的已构建工件运行验收和集成测试
deploy-release 将构建的工件添加到库存。 Continuous Delivery 管道使用此库存。
code-ci-finish 收集,创建日志文件,工件和证据并将其上载到证据锁定程序。 如果先前在管道中执行的任何一致性检查失败,那么此阶段也会失败。 此阶段表示“故障安全”行为,以确保在可以合并 PR 或可以部署构建之前修复合规性问题。

CD 管道的开发方式

CD 管道将构建部署到环境,例如登台或生产环境。

下表列出了 CD 管道的开发方式中的阶段。

表 2. CD 管道的开发阶段
CD 管道阶段 阶段描述
prod-start 计算部署增量。
prod-setup 设置构建和测试环境。
prod-verify-artifact 验证 CI 管道中构建的映像的签名。
prod-deployment 将构建部署到环境。
prod-acceptance-tests 运行验收测试。
prod-finish 发布验收测试,部署记录,收集 CycloneDX SBOM 以及关闭变更请求。

返回到标准方式

当您对 .pipeline-config.yaml 文件及其关联脚本的实现感到满意时,请禁用或删除 Manual-Dev-Mode 触发器,并改为使用用于运行安全性和合规性检查的 standard 触发器。