AWS-CodePipeline

CodeCommitからCodePipelineを介してS3にデプロイする(環境構築編)

こんにちは、最近コードでのインフラ構築にハマっているディーネットの山田です。
(インフラ環境がコードで管理できる便利さに気づいてしまいました。人によると思いますが、コードを書くときは高解像度モニタで行いたい派です。)

今回は、コード管理系でお馴染みの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に初回デプロイされた

実施にブランチを作成してデプロイしてみる

ここからは、デプロイテスト編にてお届けしますので、そちらをご覧ください。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA