在目标上部署应用程序

您可以在以下三个目标之一上部署应用程序: 基于推送的部署,基于拉出的部署或定制目标。

使用基于推送的部署进行部署

要在 IBM Cloud上的 Red Hat® OpenShift® 上部署应用程序时,可以选择 Push based deployment 作为部署目标。 DevSecOps将安全实践与软件开发和操作生命周期相集成的方法。 合并的目标是优先考虑发展速度和安全性的平衡。 提供在集群上部署应用程序的脚本。 您可能需要根据应用程序和集群需求定制这些脚本。

这些脚本位于部署存储库中,并在 pipeline-config.yml 文件中指定。

deploy:
  image: icr.io/continuous-delivery/pipeline/pipeline-base-image:2.12@sha256:ff4053b0bca784d6d105fee1d008cfb20db206011453071e86b69ca3fde706a4
  script: |
    #!/usr/bin/env bash

    if [[ "$PIPELINE_DEBUG" == 1 ]]; then
      trap env EXIT
      env
      set -x
    fi

    source scripts/deploy_setup.sh
    source scripts/deploy.sh
    export DEPLOY_EXIT=$?
    source scripts/doi-publish-deploy.sh

使用基于拉出的部署进行部署

DevSecOps 提供了一个选项,使用基于拉取的部署来部署您的应用程序,使用 配置。IBM Cloud Satellite

IBM Cloud Satellite 是 IBM Cloud Public 的扩展,可以在客户的数据中心内运行,也可以在边缘运行。 每个 IBM Cloud Satellite 位置都使用 IBM Cloud Satellite 链接进行连接,该链接提供与 IBM Cloud® 控制平面的连接。 它为安全团队提供审计,包捕获和可视性,而配置实用程序提供应用程序和服务的全局视图。IBM Cloud Satellite Link 提供了一种简单的方法来管理 IBM Cloud 与 Satellite 位置之间的连接,通过控制链路两侧的端点,可以查看来回的所有流量。

用户可以在 Satellite 集群组 中具有 Red Hat® OpenShift® 集群组。 您可以使用 Satellite 配置 将应用程序部署到 Satellite 集群组 中。

遵循两个步骤的过程,使 Red Hat® OpenShift® 集群能够利用 Satellite 配置来执行同时部署。

  1. 创建集群组,这是在 Satellite 位置上运行的集群的逻辑分组。

  2. 将集群连接到集群组,这将授予 Satellite 配置访问权以管理集群中的资源。

作为高级配置,您还可以使用 IBM Cloud Satellite 将应用程序部署到本地数据中心或其他云提供者中的计算基础结构。

  1. 使用预定义的模板为本地数据中心或其他云提供者中的计算基础结构创建 Satellite 位置

  2. 通过使用设置将 Red Hat® OpenShift® 集群 部署到 Satellite 位置。

  3. 创建集群组,这是在 Satellite 位置上运行的集群的逻辑分组。

  4. 将集群连接到集群组,这将授予 Satellite 配置访问权以管理集群中的资源。

先决条件

  • 此工具链使用 Satellite 配置 将应用程序部署到一组集群。
  • 此工具链假定您具有具有所需集群的 Satellite 集群组
  • 此工具链支持仅包含一种类型的集群 (Red Hat® OpenShift®) 的 Satellite 集群组。

部署

DevSecOps 提供现成的脚本,用于在集群组上部署应用程序。 您可能需要根据应用程序和集群组需求定制这些脚本。

这些脚本位于部署存储库中,并在 pipeline-config.yml 文件中指定。

deploy:
  image: icr.io/continuous-delivery/pipeline/pipeline-base-image:2.12@sha256:ff4053b0bca784d6d105fee1d008cfb20db206011453071e86b69ca3fde706a4
  script: |
    #!/usr/bin/env bash

    if [[ "$PIPELINE_DEBUG" == 1 ]]; then
      trap env EXIT
      env
      set -x
    fi

    source scripts/deploy_setup.sh
    source scripts/deploy.sh
    export DEPLOY_EXIT=$?
    source scripts/doi-publish-deploy.sh

部署到定制目标

如果要执行以下操作,请部署到定制目标:

  • 在您自己选择的基础架构 (例如,虚拟服务器实例 (VSI)) 上部署应用程序。
  • 执行定制任务,例如更新 Red Hat® OpenShift® 集群中的某些配置。

在这些情况下,选择 "custom" 作为部署目标。

执行定制部署

  • DevSecOps 模板完全可定制。 您可以在部署存储库的 pipeline-config.yml 文件中提供自己的阶段和步骤。
  • 您可以在 pipeline-config.yml 文件的 setupdeployacceptance-test 阶段中提供定制脚本。
  • 这些脚本在持续部署 (CD) 管道运行期间运行。