AWS CodeDeployでGitHubからアプリケーションをデプロイ

こんばんは

下記のCodedeployのチュートリアルをやってみました。

チュートリアル: CodeDeploy を使用して GitHub からアプリケーションをデプロイする - AWS CodeDeploy
この CodeDeploy チュートリアルの手順に従って、GitHub から 1 つ以上の Amazon EC2 インスタンスにアプリケーションをデプロイします。

チュートリアルなのにハマってしまいましたよっと(笑)

そもそもGitHubとか名前を聞いたことある程度だったので仕方ないですね。

事前準備

GitHubアカウント作成

リポジトリCodeDeployGitHubDemo作成

EC2用のセキュリティグループ作成

IAMロールをそれぞれ作成する。

 

CodeDeploy用のセキュリティグループ作成

EC2インスタンス新規作成

EC2インスタンスをに先ほど作ったCodedeploy用のIAMロールを割り当てて新規作成。

CodedeployAgentインストール

Rubyのインストールも必要

sudo su
yum install ruby
cd /home/ec2-user
CodedeployAgentモジュールをS3からコピー
aws s3 cp s3://aws-codedeploy-ap-northeast-1/latest/install . –region ap-northeast-1
ディレクトリに実行権限付与してインストール
chmod +x ./install
./install auto
ステータス確認
service codedeploy-agent status
he AWS CodeDeploy agent is running as PID XXX
と表示されればOK

GitHubリポジトリ作成

gitコマンドインストール

yum install git

ワークディレクトリの作成

mkdir /tmp/CodeDeployGitHubDemo

ワークディレクトリに移動

cd /tmp/CodeDeployGitHubDemo

README.mdファイル作成

README.mdはプロジェクトの説明、やインストール方法が書かれたファイル

touch README.md

ローカルリポジトリを新規作成

git init

作成ファイルをコミットするために登録(インデックス)

git add README.md

コメントをつけてコミット(ローカルリポジトリに反映)

git commit -m “My first commit”

リモートリポジトリを追加

git remote add origin https://github.com/username/CodeDeployGitHubDemo.git

ファイル(マスタ)を更新上流ブランチを設定

git push -u origin master
ユーザ名、パスワードを聞かれるので入力する。

S3からサンプルアプリのダウンロード

サンプルアプリをS3からダウンロード

aws s3 cp s3://aws-codedeploy-ap-northeast-1/samples/latest/SampleApp_Linux.zip . –region ap-northeast-1

↑S3アクセス権限がなければエラー

fatal error: Unable to locate credentials

ファイルの解凍

unzip SampleApp_Linux.zip

zipファイルの削除

rm SampleApp_Linux.zip

現在のディレクトリのフォルダをすべてインデックスする

git add .

コメントをつけてコミットする

git commit -m “Added sample app”

更新を反映する

git push –set-upstream origin master

これでGithubにアプリが上がっているはずです。

これでようやくCodedeployの設定に

Codedeploy設定

アプリケーション作成

アプリケーション名を入れ今回はEC2/オンプレミスを選択

デプロイグループの作成

サービスロールには事前準備で作成したロールを割り当てる。

ロードバランサはないのでチェックを外す。

デプロイの作成

最後にデプロイの作成です。

作成したデプロイグループを選択する。

GitHubに格納されていますにチェック

トークン名、リポジトリ名を入力

デプロイのステータスを確認することができます。

View eventからデプロイの詳細を確認することもできます。

デプロイ成功!!??

EC2インスタンスのIPアドレスにブラウザから接続すると!!!

ついに!!

感想

1回手順が分かるとすらすらと進みますが、それまでに時間がかかりました。チュートリアルのくせに!!

今回個人的にハマったポイントはデプロイメント作成箇所でリポジトリ名にスペースが入っておりうまくいかず悩みました。

また、手順をすっ飛ばし、サンプルアプリをS3からコピーした後に解凍せずそのままGithubにpushしてました。

ちゃんと分を読まないとだめですね。

 

 

コメント

タイトルとURLをコピーしました