久々にHerokuのPiepelineを使って、情報が散らばってて分かりにくいなぁと思ったので情報を共有いたします。
前提条件
- Heroku CLIがインストールされている。
- HerokuにSampleAppという本番用アプリと、SampleApp-stgというステージング用アプリが存在する。
- プロジェクト(Heroku上のアプリと意味を切り離す意味でプロジェクトとしてます)はGithubをリモートレポジトリとして用いている。
流れ
- HerokuのCLIにpipelineをインストール
- Heroku上にpipelineを作成
- 作成したpipelineにステージング用アプリを紐付け
- Heroku CLIから本番用アプリとステージング用アプリを操作する
さぁ、やってみよう
HerokuのCLIにpipelineをインストール
まずはpipelinesコマンドをCLIで使えるようにする。
$ heroku labs:enable pipelines
Heroku上にpipelineを作成
次に、Heroku上にpipelineを作成します。
$ heroku pipelines:create -a SampleApp
どこにSampleAppを割り当てるか聞かれますので、Productionを選択し、Enterを押して下さい。
これでSampleAppというパイプラインが作成され、SampleAppアプリがProductionに割り当てられました。
作成したpipelineにステージング用アプリを紐付け
次に、SampleApp-stgをステージング環境に割り当てます。
$ heroku pipelines:add -a SampleApp-stg SampleApp
先程と同様にどこにSampleApp-stgを割り当てるか聞かれますので、Stagingを選択し、Enterを押して下さい。
Heroku CLIから本番用アプリとステージング用アプリを操作する
まずはリモートレポジトリに各アプリを割り当てます。
$ git remote add heroku git@heroku.com:SampleApp.git
$ git remote add heroku-stg git@heroku.com:SampleApp-stg.git
これで事前準備は完了です。
あとはherokuコマンドの実行先をそれぞれ指定してやるだけです。
たとえば、マイグレーションを実行したい場合は…
本番環境の場合
$ heroku run rake db:migrate --remote heroku
ステージング環境の場合
$ heroku run rake db:migrate --remote heroku-stg
これで完了です。
Yoshio Yanagi
最新記事 by Yoshio Yanagi (全て見る)
- VCCW + Ubuntu16にPHP5.6をインストールして使う - 2018年3月20日
- 既存のHeroku appからpipelineを作成し、CLIからStagingとProductionをいじれるようにする - 2017年5月24日
- お手伝いいただけるソフトウェアエンジニア募集中! - 2017年5月22日
この記事へのコメントはありません。