インスタンス・グループへのデプロイ

インスタンス・グループにアーティファクトをデプロイするパイプラインを作成します。

前提条件

アーティファクトをインスタンス・グループにデプロイするための前提条件は次のとおりです。

  • デプロイメント・パイプライン、デプロイ先のインスタンス・グループ環境およびアーティファクトが必要です。アーティファクトは、インラインで定義するか、アーティファクト・レジストリに配置できます。

    DevOpsデプロイメントでは、ステージでの複数のアーティファクトのデプロイがサポートされます。インスタンス・グループ・デプロイメントの場合、デプロイメント構成ファイルでコマンドを定義し、指定したアーティファクト・レジストリからアプリケーション・パッケージ・アーティファクトをダウンロードしてターゲット・コンピュート・インスタンスのファイル・システムに配置するステップを実行します。デプロイメント構成ファイルを参照してください。

  • 「コンピュート・インスタンスの実行コマンド」プラグインがインスタンスで有効になっており、プラグインが実行されている必要があります。プラグインを有効にするには、次のステップに従います:
    1. コンソールでナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
    2. デプロイ先のインスタンス・グループからインスタンスを選択します。
      ノート

      DevOpsは、Oracle LinuxおよびCentOSへのインスタンス・グループ・デプロイメントのみをサポートしています。
    3. 「Oracle Cloudエージェント」タブをクリックします。
    4. 「コンピュート・インスタンスの実行コマンド」プラグインで、「プラグインの有効化」スイッチを「有効」に切り替えます。

      この変更が有効になるには最大10分かかります。

      注意

      プラグインが無効になっている場合、モニタリング、自動スケーリング、デプロイメント、OS管理などのプラグインに依存する機能は動作しません。
      注意

      「コンピュート・インスタンスの実行コマンド」プラグインを使用してアプリケーションをデプロイするには、最小権限ポリシーを適切に構成および維持する必要があります。詳細は、インスタンスでのコマンドの実行を参照してください。

      プラグインの管理の詳細は、Oracle Cloud Agentを使用したプラグインの管理を参照してください。トラブルシューティングについては、Oracle Cloud Agentのトラブルシューティングを参照してください。

  • インスタンスでコマンドを実行する権限が必要です。必要なIdentity and Access Management (IAM)ポリシーを参照してください。

デプロイメント・パイプラインの動的グループおよびポリシーの作成については、デプロイメント・パイプライン・ポリシーを参照してください。詳細は、DevOps IAMポリシーを参照してください。

Oracle Cloudコンソール、REST APIおよびCLIを使用したDevOpsへのアクセスについては、DevOpsへのアクセスを参照してください。

    1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「DevOps」で、「プロジェクト」をクリックします。
    2. プロジェクトおよびデプロイメント・パイプラインを選択します。
    3. パイプラインにステージを追加するには、「+」アイコンをクリックし、「ステージの追加」を選択します。
    4. 「ステージ・タイプ」で、「デプロイ - インスタンス・グループ」を選択して「次」をクリックします。
    5. ステージの名前と説明を入力します。説明の追加はオプションです。
    6. 「環境」で、既存のインスタンス・グループを選択します。
    7. 「アーティファクトの選択」をクリックし、デプロイする使用可能なインスタンス・グループ・デプロイメント構成アーティファクトを選択します。

      デプロイメント構成ファイルは、インスタンスにダウンロードするアーティファクトと、アーティファクトをコピーする必要がある場所を定義します。詳細は、デプロイメント構成ファイルを参照してください。

    8. (オプション)「アーティファクトの選択」をクリックして、デプロイメント中にコンピュート・インスタンスにダウンロードする別のアーティファクトを追加します。

      これらの追加アーティファクトは、インラインで定義できません。

    9. (オプション)「ロード・バランサの選択」をクリックします。ロード・バランサは、コンソールで使用できる必要があります。
      1. ロード・バランサのリージョンとコンパートメントを選択します。
      2. 使用可能なリストからロード・バランサを選択します。

      ロード・バランサは、デプロイメント中に本番トラフィックを分散します。詳細は、ロード・バランサ管理を参照してください。

    10. リスナーをロード・バランサに追加するには、「リスナーの選択」をクリックします。

      リスナーは、ロード・バランサのIPアドレスに対する受信トラフィックをチェックします。詳細は、リスナー管理を参照してください。

    11. 検証が失敗した場合に、最後に成功したリリース・バージョンに自動的にロールバックするには、「はい」を選択します。詳細は、デプロイメントのロールバックを参照してください。
    12. ロールアウト・ポリシーは、ターゲット環境全体におけるインスタンス・ロールアウトの割合および動作を制御します。次のいずれかのオプションを選択します:
      • ロールアウト(パーセント別): 1から100の間のパーセント値を入力します。この値は、一度にデプロイされるインスタンスまたは実行されていないインスタンスの最大数を制御します。
      • ロールアウト(件数): 件数値を入力します。この値は、一度にデプロイされるインスタンスまたは実行されていないインスタンスの最大数を制御します。
    13. (オプション)「バッチ間の遅延」に、期間(秒)を入力します。
    14. (オプション)失敗ポリシーは、ステージの失敗基準を定義します。これは、インスタンス・グループで失敗したコンピュート・ホストの数に基づいて定義できます。次のいずれかのオプションを選択します:
      • None (なし)
      • Fail by percent: 1から100の間のパーセント値を入力します。この値は、コンピュート・ホストが失敗し、その後ステージが失敗する場合のホストのパーセンテージを定義します。
      • 失敗(件数): 件数値を入力します。この値は、コンピュート・ホストが失敗し、その後ステージが失敗する場合のホストの数を定義します。
    15. (オプション)パイプラインにタグを追加するには、「タグ付けオプションの表示」をクリックします。タグ付けとは、テナンシ内のリソースを整理およびトラッキングできるメタデータ・システムです。

      リソースを作成する権限がある場合、それにフリーフォーム・タグを追加する権限もあります。

      定義済タグを追加するには、タグ・ネームスペースを使用する権限が必要です。

      詳細は、リソース・タグを参照してください。

    16. ステージをパイプラインに追加するには、「追加」をクリックします。

      ステージ・プレビューによって、構成のスナップショットが提供されます。

    必要に応じて、パイプラインに順次またはパラレルにステージを追加します。ターゲット環境にビルド出力をデプロイするには、デプロイメント・パイプラインを実行します。

    デプロイメント・パイプラインに100個のパラレル・ステージを追加できますが、「コマンドの実行」プラグインでは1つのインスタンスで5つのコマンドのみがサポートされます。そのため、100個のパラレル・インスタンス・グループ・デプロイメントを実行するのに十分なインスタンスが必要です。

    ビルド・パイプラインからデプロイメントを自動的にトリガーするには、ビルド・パイプラインに「デプロイメントのトリガー」ステージを追加します。

  • インスタンス・グループ・ステージを作成するには、create-deploy-compute-instance-group-stageコマンドを実行します:

    oci devops deploy-stage create-deploy-compute-instance-group-stage

    create-deploy-compute-instance-group-stageコマンドの必須パラメータ:

    • --compute-instance-group-environment-id
    • --deployment-spec-artifact-id
    • --rollout-policy
    • --pipeline-id
    • --stage-predecessor-collection

    deploy-stageのすべてのコマンドを取得するには:

    oci devops deploy-stage -h

    create-deploy-compute-instance-group-stageコマンドのヘルプを取得するには:

    oci devops deploy-stage create-deploy-compute-instance-group-stage -h
  • パイプラインにインスタンス・グループ・デプロイメント・ステージを作成するには、CreateDeployStage操作を使用します。deployStageType属性には、COMPUTE_INSTANCE_GROUP_ROLLING_DEPLOYMENT値を指定します。