備忘メモ
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側の画面を見ながら進むのを待ちます。