備忘メモ
CodeDeployの実行コマンドのうちわけ
Code Deployで行うのは
aws deploy push
と aws deploy create-deployment
の2つのコマンドを実行して行う。
おおまかにいうと push
のほうで…
- コマンドが実行されたカレントディレクトリをzip化する
- そのzipをS3にアップロードしてリビジョン紐付けをする
- 直ぐに実行できるように、オプション付きの
create-deployment
のコマンドを出力する
を行い、出力したコマンドを打つとCode Deployが実行されるという仕組みになっている。
手動実行する
aws deploy push \ --region=ap-northeast-1 \ --application-name sampleapp \ --no-ignore-hidden-files \ --s3-location s3://sampleapp-deployment/{ユニークになるような文字列} aws deploy push \ --region=ap-northeast-1 \ --application-name sampleapp \ --no-ignore-hidden-files \ --s3-location s3://sampleapp-deployment/demopush01
実行するとこんな感じのコードで出力されます
$ aws deploy push \ > --region=ap-northeast-1 \ > --application-name sampleapp \ > --no-ignore-hidden-files \ > --s3-location s3://sampleapp-deployment/demopush01 To deploy with this revision, run: aws deploy create-deployment --application-name sampleapp --s3-location bucket=sampleapp-deployment,key=demopush01,bundleType=zip,eTag=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-4 --deployment-group-name <deployment-group-name> --deployment-config-name <deployment-config-name> --description <description>
出力結果をコピーして < >
で囲われている部分を編集します。
aws deploy create-deployment --application-name sampleapp \ --s3-location bucket=sampleapp-deployment,key=demopush01,bundleType=zip,eTag=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-4 \ --deployment-group-name master \ --description "demo release" # --deployment-config-name は元のdeployment-groupの設定に従うので削除
上記のようなコマンドを打つと、以下のようになります。
$ aws deploy create-deployment --application-name sampleapp \ > --s3-location bucket=sampleapp-deployment,key=demopush01,bundleType=zip,eTag=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-4 \ > --deployment-group-name master \ > --description "demo release" { "deploymentId": "d-Y71ZZZZZ" }
deploymentIdが発行されるので、あとはCodeDeploy側の画面を見ながら進むのを待ちます。