久々に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
これで完了です。
The following two tabs change content below.
Yoshio Yanagi
代表取締役 : 株式会社クリエイターズ・ラボ
株式会社クリエイターズ・ラボ 代表取締役。株式会社078 取締役。
中学生の時に父の自作PCを譲り受け、はじめてのウェブ制作を経験する。見よう見まねで自分のウェブサイトにチャット機能や掲示板を自作で実装したのがはじめてのプログラミング経験。
大学在学中にLinuxとC言語を学ぶ。大学卒業後はエンジニアとして自動車メーカーで油圧制御プログラムの開発や、シミュレーションソフト開発に従事。その後、半導体商社にて組込みソフトエンジニアとして、産業機器や家電、IoT等の組込みソフトウェア開発に従事。
2015年9月に株式会社クリエイターズ・ラボを設立。
最新記事 by Yoshio Yanagi (全て見る)
- VCCW + Ubuntu16にPHP5.6をインストールして使う - 2018年3月20日
- 既存のHeroku appからpipelineを作成し、CLIからStagingとProductionをいじれるようにする - 2017年5月24日
- お手伝いいただけるソフトウェアエンジニア募集中! - 2017年5月22日
コメントを残す