質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

0回答

238閲覧

【AWS/GitHub】git pushでCode Deployを動かしたい

nnahito

総合スコア2004

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

2クリップ

投稿2018/05/16 06:56

はじめに

AWS初心者です。(GitHubも初心者だと言っても過言ではありません。)
優しく教えてください。

やりたいこと

githubのmasterブランチにgit pushされたときに、Code Deployを使い自動デプロイを行いたい。

やったこと

  • EC2インスタンスの立ち上げ(後術)
  • このサイトを参考にロール等作成を一通り

エラー

エラーログを探したのですが、わからず……
おそらくGitHubの設定がミスっていると踏んでいます。

イメージ説明

EC2立ち上げ手順

以下の手順です。

# システムを最新に sudo yum update -y # 時間を日本に sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime echo -e 'ZONE="Asia/Tokyo"\nUTC=true' | sudo tee /etc/sysconfig/clock # 上司に言われたので、不要っぽいサービスを停止 sudo systemctl disable amazon-ssm-agent.service sudo systemctl disable atd.service sudo systemctl disable autovt@.service sudo systemctl disable dmraid-activation.service sudo systemctl disable getty@.service sudo systemctl disable libstoragemgmt.service sudo systemctl disable mdmonitor.service sudo systemctl disable postfix.service sudo systemctl disable rngd.service sudo systemctl disable sysstat.service sudo systemctl disable systemd-readahead-collect.service sudo systemctl disable systemd-readahead-drop.service sudo systemctl disable systemd-readahead-replay.service # ec2-userアカウントを無効化 sudo adduser nnahito sudo usermod -G wheel nnahito grep wheel /etc/group | grep nnahito echo 'nnahito ALL = NOPASSWD: ALL' | sudo tee --append /etc/sudoers.d/cloud-init # 鍵を作ったユーザに合わせる sudo cp ~/.ssh/authorized_keys ~nnahito/.ssh/authorized_keys sudo chown -R nnahito:nnahito ~nnahito/.ssh sudo chmod -R go-rwx ~nnahito/.ssh sudo ls -al ~nnahito/.ssh # EC2-USERでログインできないように sudo vim /etc/ssh/sshd_config # 「DenyUsers ec2-user」を追記 sudo /bin/systemctl reload sshd.service # sshログインポートを22以外に変更する sudo vim /etc/ssh/sshd_config # 「Port 22222」を追記 sudo /bin/systemctl reload sshd.service # サーバのセットアップ sudo su yum install -y git # EecKeeper入れた。割愛 amazon-linux-extras install nginx1.12 amazon-linux-extras install php7.2 # nginxのconfいじった。起動は確認してるので割愛 # php-fpmを実行するようのユーザ作成 useradd -s /sbin/nologin php-fpm sudo vim /etc/php-fpm.d/www.conf # user = php-fpm # group = php-fpm に、それぞれ変更 # 以下、再起動したり起動時に自動でnginxとphp-fpmが立ち上がる設定とか。

Code Deploy用に行った設定

bash

1yum install -y aws-cli 2# ↑入ってた

ロール作成

  • AmazonS3ReadOnlyAccessをEC2で
  • AWSCodeDeployRoleをcodedeployで作成

EC2インスタンスにロールの当てはめ
AmazonS3ReadOnlyAccessのみを当てはめ


Code Deployのインストール

bash

1aws s3 cp s3://aws-codedeploy-ap-northeast-1/latest/install . --region ap-northeast-1 2# download: s3://aws-codedeploy-ap-northeast-1/latest/install to ./install 3 4# インストーラーに実行権限を与える 5chmod +x ./install 6 7# インストーラーの実行にRubyがいるので、それも入れておく 8sudo yum -y install ruby 9 10# インストール 11sudo ./install auto

appspec.ymlの作成

bash

1version: 0.0 2os: linux 3files: 4 - source: / 5 destination: /home/nnahito/deploy-test

↑ちなみに、destination/var/www/html/に変更すると手動デプロイもできなくなります……
なんでなのでしょう?権限…?


Code Deployで手動デプロイを試す

  • アプリケーションの作成
  • デプロイの作成(gitHubリポジトリ/commit番号指定)

実行
→成功


git push時にデプロイできるようにロールにGitHub用のアカウントを作る
ユーザ作成

  • プログラムによるアクセスにチェック

ポリシーの作成

  • JSON入力
  • 確認画面で以下の忠告が出た

これは失敗…?

イメージ説明

とりあえず無視して続き。
ポリシーのアタッチをさっき作ったGitHub用のアカウントに紐付け。


などなどを行い、git pushしても、一切動いてくれず、githgubを見に行くと、最初に提示したエラーが出ておりました。↓

イメージ説明


初めてなので、どこが間違っているかわからず……
申し訳ございませんが、おかしなところをご教示いただけますと幸いです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問