開発者は、GitHub リポジトリまたは GitLab Enterprise リポジトリからコードを継続的に統合する必要があります。開発者がコードを更新し、変更をリポジトリにコミットするたびに、 Code Stream はその変更を待機し、パイプラインをトリガできます。
コードが変更されたら Code Stream がパイプラインをトリガするようにするには、Git トリガを使用します。これにより、コードに変更をコミットするたびに Code Stream がパイプラインをトリガします。
Code Stream パイプライン ワークスペースでは、継続的インテグレーション タスクとカスタム タスクで Docker と Kubernetes がサポートされます。
ワークスペースの構成に関する詳細については、パイプライン ワークスペースの構成を参照してください。
次のフローチャートは、スマート パイプライン テンプレートを使用してパイプラインを作成する場合、またはパイプラインを手動でビルドする場合に使用できるワークフローを示しています。
次の例では、Docker ワークスペースを使用します。
コードをビルドするには、Docker ホストを使用します。テスト フレームワーク ツールとして JUnit と JaCoCo を使用します。単体テストとコード カバレッジを実行するもので、どちらもパイプラインに含めます。
これにより、継続的インテグレーション スマート パイプライン テンプレートを使用して継続的インテグレーション パイプラインを作成できます。このパイプラインは、コードをビルドし、テストしてから、AWS 上にあるプロジェクト チームの Kubernetes クラスタに展開します。コード ビルドの時間を節約するために継続的インテグレーション タスクのコード依存関係アーティファクトを保存するには、キャッシュを使用します。
コードをビルドしてテストするパイプライン タスクには、複数の継続的インテグレーション手順を含めることができます。この継続的インテグレーション手順は、パイプラインがトリガされたときに Code Stream によってソース コードがクローン作成されるのと同じ作業ディレクトリに配置されます。
Kubernetes クラスタにコードを展開するために、パイプラインで Kubernetes タスクを使用できます。その後、パイプラインを有効にして実行します。次に、リポジトリのコードに変更を加え、パイプラインのトリガを監視します。パイプラインの実行後にパイプラインのトレンドを監視およびレポートするには、ダッシュボードを使用します。
次の例では、コードをパイプラインに継続的に統合する継続的インテグレーション パイプラインを作成するために、継続的インテグレーション スマート パイプライン テンプレートを使用します。この例では、Docker ワークスペースを使用します。
必要に応じて、パイプラインを手動で作成し、ステージとタスクを追加できます。継続的インテグレーション ビルドの計画とパイプラインの手動作成に関する詳細については、タスクの手動追加を行う前の Code Stream での CICD ネイティブ ビルドの計画を参照してください。
前提条件
- 継続的インテグレーション ビルドを計画します。スマート パイプライン テンプレートの使用に先立つ Code Stream での継続的インテグレーション ネイティブ ビルドの計画を参照してください。
- GitLab ソース コード リポジトリが配置されていることを確認します。ヘルプについては、 Code Stream 管理者に確認してください。
- Git エンドポイントを追加します。例については、Code Stream で Git トリガを使用してパイプラインを実行する方法を参照してください。
- Code Stream が GitHub リポジトリまたは GitLab リポジトリの変更を待機し、変更が発生したらパイプラインをトリガするようにするには、Webhook を追加します。例については、Code Stream で Git トリガを使用してパイプラインを実行する方法を参照してください。
- Docker ホスト エンドポイントを追加します。継続的インテグレーション タスク用のコンテナを作成し、それを複数の継続的インテグレーション タスクで使用できるようにするためのものです。エンドポイントの詳細については、Code Stream でのエンドポイントとはを参照してください。
- イメージ URL、ビルド ホスト、およびビルド イメージの URL を取得します。ヘルプについては、 Code Stream 管理者に確認してください。
- テスト フレームワーク ツールに JUnit と JaCoCo を使用していることを確認します。
- 継続的インテグレーション ビルド用に外部インスタンスを設定します。Jenkins、TFS、または Bamboo です。Kubernetes プラグインによってコードが展開されます。ヘルプについては、 Code Stream 管理者に確認してください。
手順
結果
完了です。コードを GitHub リポジトリまたは GitLab リポジトリからパイプラインに継続的に統合し、ビルド イメージを展開するパイプラインが作成されました。
次のタスク
詳細については、Code Stream 管理者および開発者向けのその他のリソースを参照してください。