vol.1はこちら
今回は、GitHubに準備したリポジトリにindex.htmlを作成し、それがECSにデプロイされるかどうか試してみました。
事前準備
事前に準備したものは、こちら。
- GitHubでリポジトリ(今回はプライベートリポジトリ)作成
- index.htmlファイルを置いています
- ECSの準備
- Apacheをインストールして起動
Pipelineを作成してデプロイしてみる
1.GitHubとの連携
GitHubとの連携を設定していきます。
「Associate」をクリックするとこちらの画面に移動するので、問題が無ければ「Authorized〇〇〇」をクリックして連携させます。
連携ができると、Pipelineの画面に戻ってくるのでリポジトリ等選択できるようになります。
2.Artifact Archiveを作成する
ECSにデプロイするためには、Artifact Archiveを作成する必要があります。
「Select Task Group」から「Empty Task」を選択します。
Add StepをクリックしてUpload > Artifact Archiveを選択します。
「Archive Paths」は、今回はGitHubのリポジトリ直下にindex.htmlを置いているのでディレクトリではなくファイル名を直接指定しています。(ここがハマりポイントでした。ドキュメントはディレクトリ指定しているため)
3.ECSへのデプロイ設定
作成したArtifact Archiveをtgz形式に圧縮したものをサーバーにダウンロードさせ、それを展開し、指定したパスにコピーする処理を設定します。
- Download Artifact When Deployにチェックをつける
- Artifactは「2」で作成したものを選択
- DeploymentGroupは作成したものを設定
- Download Pathはtgzファイルをダウンロードする場所を指定
- Execute Userは実行するユーザーを設定
- Deployment Scriptは、実行されるスクリプトを記載
- 今回はindex.htmlをrootである/var/www/htmlに展開するためのスクリプトを記載
- Deployment Strategyはデフォルトのまま設定
4.Save and Run
これでPipelineの作成が完了したので、実際に展開されるか試してみましょう。
「Save and Run」をクリックするとConfiguration画面が表示されコメントできるようになっています。
正常に実行完了すると、このようになります。
エラーが発生した場合は、「Logs」をクリックすると実行内容が見れるのでエラーが発生しているところがわかります。
最後に、ECSのインターネットIPをブラウザに入力してWebページが表示されるか確認してみましょう。
5.作成したPipeline
今回作成したPipelineはこのような感じになりました。
まとめ
今回は単純にデプロイするだけだったので、他の設定は試していないのですが必要に応じてWehookなども利用できそうです。
公式ドキュメントはJava中心の記載が多く、この様なシンプルな構成がなかったのでデプロイできるまでが大変でした。(Artifact Archiveが必要など)
現在は、Javaが中心のようなので今後の機能の拡充が楽しみですね。