開発者は、GitHub または GitLab Enterprise リポジトリからコードを継続的に統合する必要があります。開発者がコードを更新し、変更をリポジトリにコミットするたびに、VMware Code Streamはその変更を待機し、パイプラインをトリガできます。

開発者がコードをチェックインしてからアプリケーションを展開するまでのワークフロー

コードが変更されたらVMware Code Streamがパイプラインをトリガするようにするには、Git トリガを使用します。コードに変更をコミットするたびに、VMware Code Streamがパイプラインをトリガします。

コードをビルドするには、Docker ホストを使用します。テスト フレームワーク ツールとして JUnit と JaCoCo を使用します。単体テストとコード カバレッジを実行するもので、どちらもパイプラインに含めます。

次に、継続的インテグレーション (CI) スマート テンプレートを使用して CI パイプラインを作成します。コードをビルドし、テストしてから、AWS 上にあるプロジェクト チームの Kubernetes クラスタに展開するパイプラインです。キャッシュを使用して、CI タスクのコード依存関係アーティファクトを保存します。これにより、コード ビルドの時間が短縮されます。

コードをビルドしてテストするパイプライン タスクには、継続的インテグレーション手順をいくつか含めます。この継続的インテグレーション手順は、パイプラインがトリガされたときにソース コードがクローン作成されるのと同じ作業ディレクトリに配置されます。

Kubernetes クラスタにコードをデプロイするには、パイプラインで Kubernetes タスクを使用します。パイプラインを有効にして実行します。次に、リポジトリのコードに変更を加え、パイプラインのトリガを監視します。パイプラインの実行後にパイプラインのトレンドを監視およびレポートし、ダッシュボードで確認します。

CI パイプラインを使用してコードを継続的に統合するワークフロー。

この例では、継続的インテグレーション (CI) スマート テンプレートを使用して CI パイプラインを作成し、コードをパイプラインに継続的に統合できるようにします。

必要に応じて、パイプラインを手動で作成し、ステージとタスクを追加できます。継続的な統合ビルドの計画とパイプラインの手動作成に関する詳細については、タスクの手動追加を行う前の Code Stream での CICD ネイティブ ビルドの計画を参照してください。

前提条件

  • 継続的インテグレーション ビルドを計画します。スマート テンプレートを使用する前に VMware Code Stream で CI ネイティブ ビルドを計画するおよび継続的インテグレーション (CI) ステージの計画に関するセクションを参照してください。
  • GitLab ソース コード リポジトリが配置されていることを確認します。ヘルプについては、VMware Code Stream管理者に確認してください。
  • Git エンドポイントを追加します。例については、Code Streamで Git トリガを使用してパイプラインを実行する方法を参照してください。
  • VMware Code Streamが GitHub または GitLab リポジトリの変更を待機し、変更が発生したらパイプラインをトリガするようにするには、Webhook を追加します。例については、Code Streamで Git トリガを使用してパイプラインを実行する方法を参照してください。
  • Docker ホスト エンドポイントを追加します。CI タスク用のコンテナを作成し、それを複数の CI タスクが使用できるようにするためのものです。エンドポイントの詳細については、Code Streamでのエンドポイントとはを参照してください。
  • イメージ URL、ビルド ホスト、およびビルド イメージ URL を取得します。ヘルプについては、VMware Code Stream管理者に確認してください。
  • テスト フレームワーク ツールに JUnit と JaCoCo を使用していることを確認します。
  • CI ビルド用に外部インスタンスを設定します。Jenkins、TFS、または Bamboo です。Kubernetes プラグインによってコードが展開されます。ヘルプについては、VMware Code Stream管理者に確認してください。

手順

  1. 前提条件を満たします。
  2. スマート テンプレートを使用してパイプラインを作成するには、CI スマート テンプレートを開き、フォームに入力します。
    1. [パイプライン] > [新しいパイプライン] > [スマート テンプレート] > [継続的インテグレーション] の順にクリックします。
    2. ソース コード リポジトリ、ビルド ツールセット、公開ツール、およびビルド イメージ ワークスペースに関するテンプレートの質問に回答します。
    3. チームのスラック通知または E メール通知を追加します。
    4. スマート テンプレートでパイプラインを作成するには、[作成] をクリックします。
    5. パイプラインをさらに変更するには、[編集] をクリックし、変更を加えてから、[保存] をクリックします。
    6. パイプラインを有効にして実行します。
  3. パイプラインを手動で作成するには、ステージとタスクをキャンバスに追加し、ネイティブの CI ビルド情報で継続的インテグレーション (CI) タスクを設定できるようにします。
    1. [パイプライン] > [新しいパイプライン] > [空白のキャンバス] の順にクリックします。
    2. ステージをクリックし、ナビゲーション ペインからステージに CI タスクをいくつかドラッグします。
    3. CI タスクを設定するには、そのタスクをクリックし、[タスク] タブをクリックします。
    4. コードを継続的に統合する手順を追加します。
    5. 依存関係アーティファクトへのパスを含めます。
    6. エクスポート先を追加します。
    7. 使用するテスト フレームワーク ツールを追加します。
    8. Docker ホストとビルド イメージを追加します。
    9. コンテナ レジストリ、作業ディレクトリ、およびキャッシュを追加します。
    10. パイプラインを保存して有効にします。
  4. GitHub または GitLab リポジトリのコードに変更を加えます。
    Git をトリガしてパイプラインを有効にすると、実行が開始されます。
  5. コードの変更によってパイプラインがトリガされたかどうかを確認するには、[トリガ] > [Git] > [アクティビティ] の順にクリックします。
  6. パイプラインの実行状況を表示するには、[実行] をクリックします。ビルド イメージが作成されてエクスポートされたことを確認してください。
    CICD パイプラインの実行結果
  7. パイプライン ダッシュボードを監視して KPI とトレンドを追跡するには、[ダッシュボード] > [パイプライン ダッシュボード] の順にクリックします。

結果

完了です。コードを GitHub または GitLab リポジトリからパイプラインに継続的に統合し、ビルド イメージを展開するパイプラインが作成されました。

次のタスク

詳細については、VMware Code Stream 管理者および開発者向けのその他のリソースを参照してください。