ターゲットへのアプリケーションのデプロイ

アプリケーションは、プッシュ・ベースのデプロイメント、プル・ベースのデプロイメント、またはカスタム・ターゲットの 3 つのターゲットのいずれかにデプロイできます。

プッシュ・ベースのデプロイメントを使用したデプロイ

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 Configを使用したプルベースのデプロイメントでアプリケーションをデプロイするオプションを提供します。

IBM Cloud Satellite は、お客様のデータ・センター内またはエッジで実行できる IBM Cloud Public の拡張機能です。 各 IBM Cloud Satellite ロケーションは、 IBM Cloud Satellite リンクを使用して接続されます。このリンクは、 IBM Cloud® コントロール・プレーンへの接続を提供します。 監査、パケット・キャプチャー、およびセキュリティー・チームに対する可視性を提供し、構成ユーティリティーはアプリケーションおよびサービスのグローバル・ビューを提供します。 IBM Cloud Satellite リンクは、 IBM Cloud と Satellite の間の接続を管理するための簡単な方法を提供します。このリンクは、すべてのトラフィックを可視化します。

ユーザーは、 Red Hat® OpenShift® クラスターのグループを Satellite クラスター・グループ に含めることができます。 Satellite Config を使用して、アプリケーションを Satellite クラスター・グループ にデプロイできます。

2 ステップのプロセスに従って、 Red Hat® OpenShift® クラスターが Satellite Config を利用して同時デプロイメントを実行できるようにします。

  1. クラスター・グループを作成します。これは、 Satellite ロケーションで実行されるクラスターの論理グループです。

  2. クラスターをクラスター・グループに接続します。これにより、クラスター内のリソースを管理するための Satellite 構成アクセス権限が付与されます。

拡張構成として、 IBM Cloud Satellite を使用して、オンプレミス・データ・センターまたは他のクラウド・プロバイダーのコンピュート・インフラストラクチャーにアプリケーションをデプロイすることもできます。

  1. 事前定義されたテンプレートを使用して、オンプレミス・データ・センターまたはその他のクラウド・プロバイダーにコンピュート・インフラストラクチャーの Satellite ロケーションを作成 します。

  2. セットアップを使用して、 Red Hat® OpenShift® クラスターのデプロイ を Satellite の場所に移動します。

  3. クラスター・グループを作成します。これは、 Satellite ロケーションで実行されるクラスターの論理グループです。

  4. クラスターをクラスター・グループに接続します。これにより、クラスター内のリソースを管理するための Satellite 構成アクセス権限が付与されます。

前提条件

  • このツールチェーンは、 Satellite Config を使用して、アプリケーションをクラスターのグループにデプロイします。
  • このツールチェーンは、必要なクラスターを持つ Satellite クラスター・グループ があることを前提としています。
  • このツールチェーンは、1 つのタイプのクラスター (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® クラスター内の一部の構成の更新などのカスタム・タスクを実行します。

このような場合は、デプロイメント・ターゲットとして「カスタム」を選択します。

カスタム・デプロイメントの実行

  • DevSecOps テンプレートは完全にカスタマイズ可能です。 デプロイメント・リポジトリーの pipeline-config.yml ファイルに、独自のステージとステップを指定することができます。
  • pipeline-config.yml ファイルの setupdeploy、および acceptance-test ステージでカスタム・スクリプトを提供できます。
  • これらのスクリプトは、継続的デプロイメント (CD) パイプラインの実行中に実行されます。