こんにちは、最近コードでのインフラ構築にハマっているディーネットの山田です。
(インフラ環境がコードで管理できる便利さに気づいてしまいました。人によると思いますが、コードを書くときは高解像度モニタで行いたい派です。)
今回は、コード管理系でお馴染みのCodeCommitからCodePipelineを介してS3に静的ファイルをデプロイしたいと思います。
長くなるので、環境構築編とデプロイテスト編の二部構成でお届けしようと思います。
目次
目的
S3に配置して、WEB公開する静的ファイルをバージョン管理したい。
CodeCommitとは
AWS CodeCommit は、クラウド内のアセット (ドキュメント、ソースコード、バイナリファイルなど) を非公開で保存および管理するために使用できる Amazon Web Services によってホストされるバージョン管理サービスです。
CodePipelineとは
AWS CodePipeline は、ソフトウェアをリリースするために必要なステップのモデル化、視覚化、および自動化に使用できる継続的な配信サービスです。
ソフトウェアリリースプロセスのさまざまなステージをすばやくモデル化して設定できます。
CodePipeline は、ソフトウェアの変更を継続的にリリースするために必要なステップを自動化します。
構築してみる
コードでの管理にハマっているので、CloudFormationで実現しようと思いましたが、わかりやすいようにAWSマネジメントコンソールから作ってみます。
CodeCommitのリポジトリを構築する
リポジトリを作成する
空のリポジトリが作成された
ダミーファイルをコミットする
ダミーファイルがコミットされた
S3バケットを作成する
S3バケットを作成する
S3バケットが作成された
S3バケットでWEBホスティングを有効化する
静的ウェブサイトホスティングを有効にする
パブリックアクセスのブロックを解除する
バケットポリシーでオブジェクトへのアクセスを許可する
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::s3-codecommit-yamada/*"
}
]
}
CodePipelineのパイプラインを作成する
CodePipelineでパイプライン名を設定する
CodePipelineのソースステージでCodeCommitを選択する
CodePipelineのビルドステージはスキップする
CodePipelineのデプロイステージはS3を選択する
初回デプロイが実施される
初回デプロイ中
初回デプロイ完了
S3に初回デプロイされた
実施にブランチを作成してデプロイしてみる
ここからは、デプロイテスト編にてお届けしますので、そちらをご覧ください。
![](https://blog.denet.co.jp/wp-content/uploads/2023/09/20230929_yamada_profile.png)
プロフィール
テクニカルサポートは卒業して、フロントサイドでお客様環境の構築をさせていただいております。
たまに、テクニカルサポートでご対応させていただくことがあるかもしれませんが、その際はよろしくお願いいたします。
インフラ系のエンジニアですが、時々休日プログラマー(Python、PHP)をやっております。
LINK
クラウドベリージャム:プロフィールページ