Help us understand the problem. What is going on with this article?

CodeDeployで環境変数を利用する

More than 3 years have passed since last update.

概要

CodeDeployでソースをデプロイする際は、Hookを利用してリリースした時刻のパッケージディレクトリを作成したいと考えました。Capistranoみたいな感じです。

- current
- releases
  - 20160310_0242
    - routes
    - logs
    - config
    - ...
  - 20160309_1432
  - 20160307_1029
  - ...

軽くHookスクリプト書いたものの、デプロイ先のインスタンスを増やすと必然的にインスタンスごとのディレクトリ名が変わってしまう問題に気づきました。よくよく考えたら当たり前だけど (Capistranoは実行元の時刻を使ってるっぽい。たぶん)。

CodeDeployはビルドツール (Grunt) に組み込んで利用していたので、CLIの create-deployment を眺めてみると --description というオプションがある。ここに時刻入れたらデプロイ先 (CodeDeploy Agent) で上手いこと値を取れないか試したけど無理だった。
が、Using CodeDeploy Environment Variables によると、いくつかのデプロイ変数はENVから参照できる様子。試しにHookで $DEPLOYMENT_ID としたらID取れました。

- current
- releases
  - 20160310_d-Ie6U45KRD
    - routes
    - logs
    - config
    - ...
  - 20160309_d-fjiefjFef
  - 20160310_d-FnFkfefaz
  - ...

CLIでは get-deployment で進捗を取得できるので (定期的にポーリングする自前実装が必要だけど)、deploymentInfo.status=Succeeded が返された後に deploymentInfo.deplymentId をGitHubのタグとして自動プッシュするよう設定。
あんまキレイな方法ではないけど、タグとDeploymentIDを連携させることでビルドが追いやすくなったのでまぁ良しとする。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした