投稿日: Nov 14, 2019

今回、GitHub Actions により新しい ECS スターターワークフローを使用して GitHub リポジトリ内から ECS をデプロイできるようになりました。新しいコードがリポジトリにプッシュされるたびに、ワークフローが GitHub Marketplace からの 4 種類の新しい GitHub Actions を使用して、AWS にコードをビルドおよびデプロイします。この結果、各ステップの自動化でデプロイプロセスが高速化するとともに、開発者はクラウド内のコードのプッシュとテストを効率化できます。

開発チームは GitHub 上での共同作業により、コード共有や変更のコミットが速やかにできるようになりますが、クラウドで実行するコードの取得は、実際には複数の段階でエラーが発生しやすいタスクと考えられています。開発者はコンテナ化されたアプリケーションでは、イメージをビルドし、そのイメージをリポジトリにパブリッシュして、オーケストレーター向けのアプリケーション (タスク定義、ポッドスペックなど) を記述する「マニフェスト」タイプのファイルを作成したうえで、マニフェストをデプロイし、タスクやポッドを実行して、最後にアプリケーションのヘルスをチェックする必要があります。開発者はデプロイ時間を短縮して、コードの速度に集中したいはずです。そのため、アプリケーションがクラウドにデプロイされるプロセスの詳細は開発者には必ずしも重要ではありません。

ECS GitHub Actions を使用すると、そのような手順のすべてが自動化されます。Git のプッシュというシンプルなトリガーで、アプリケーションがワークフローによってデプロイされます。お客様はご自分のリポジトリのアクションタブから、リポジトリにワークフローを追加できます。これによって、タスク定義などの中間的な各ステップを実行する 4 種類のアクション (AWS がパブリッシュ) で構成される yaml ファイルが追加されます。AWS アカウント情報のようなシークレットおよび環境の変数は、GitHub シークレットとして保存され、必要な各ステップのパラメータで参照されます。ユーザーは新しいコードをプッシュして、次にリポジトリ上の GitHub Actions インターフェイスで実行される各ステップを表示できます。これでクラウドへのデプロイ時間が短縮されるため、開発者は高速で反復処理を行うことに集中でき、GitHub がもっとも重要かつ厄介なデプロイを処理するようになります。

* 本発表の全文は、AWS Open Source ブログでご覧ください。
* ECS のアクションについては、AWS Actions GitHub ページでご覧ください。
* Amazon ECS の詳細については、製品ドキュメントを参照してください。