LoginSignup
0
0

More than 5 years have passed since last update.

githubと連携したCodeDeploy自動デプロイ設定で案の定ハマった

Posted at

IAMユーザ作成時にハマった

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "codedeploy:GetDeploymentConfig",
      "Resource": "arn:aws:codedeploy:us-east-1:123ACCOUNTID:deploymentconfig:*"
    },
    {
      "Effect": "Allow",
      "Action": "codedeploy:RegisterApplicationRevision",
      "Resource": "arn:aws:codedeploy:us-east-1:123ACCOUNTID:application:DemoApplication"
    },
    {
      "Effect": "Allow",
      "Action": "codedeploy:GetApplicationRevision",
      "Resource": "arn:aws:codedeploy:us-east-1:123ACCOUNTID:application:DemoApplication"
    },
    {
      "Effect": "Allow",
      "Action": "codedeploy:CreateDeployment",
      "Resource": "arn:aws:codedeploy:us-east-1:123ACCOUNTID:deploymentgroup:DemoApplication/DemoFleet"
    }
  ]
}

codedeployのarnが見つからなくて、123ACCOUNTIDの文字列が残ったまま作成したら、「そんなユーザは存在しないよ」というエラーが返ってきてiamユーザのポリシーを作成できなかった。
つまり、

arn::aws:codedeploy:us-east-1:123ACCOUNTID:deploymentconfig:*

これを

arn::aws:codedeploy:[リージョン]:[アカウントID]:deploymentconfig:*

これに書き直したら作成できた。
arnの構成を始めて知った...

設定全部終ったのに自動でデプロイされない

全て設定が完了して、プルリク作成してmasterにマージしてみた。マージした直後にcodedeployのコンソールを見ると、デプロイが実行されていることを期待していたのに何も起こらなかった。デプロイ対象のインスタンスの中に入ってログを見てみても、特にエラーが発生していない・・一体どこの設定が間違って期待する挙動が出来てないんだ?
原因は、github側の設定の、Github Auto-Deploymentの設定が間違っていたからだった。
Environmentsは勝手に、description的なものかと勘違いしていて何も入力していなかったけど、それが原因みたい。
Environmentsにcode deployのデプロイ名を入力したら、masterマージでデプロイが実行されるようになった。

おまけ

デプロイが自動で走るのはmasterにマージされた時のみ?

そうらしい。Github Auto-Deployment の説明に、
このフックを有効にすると、GitHubは、デフォルトのブランチがプッシュされるか、テストスイートが特定の基準を満たしたときにGitHubのデプロイメントをリクエストします。
と書いてあった。
スクリーンショット 2016-12-19 11.50.07.png

挙動を確認してみたけど、適当なブランチをリモートリポジトリにpushしてもデプロイが実行されることはなかった。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0