werckerでdeploy targetに応じてふるまいを変化させる
研究室のウェブサイトのホストにgithub pagesを使っているのですが、デザインの大幅な変更を行うためにちまちま作業を行っています。作業中はもちろん別ブランチで作業していますが、そうするとgithubやCUIに慣れない人がサイトに対してフィードバックしづらかったので、Staging環境を作ることにしました。
今はWerckerがgithub-pagesに対してdeployするようになっているのですが、Staging環境はHerokuなどに向けてベーシック認証などの軽い認証をかけておきたいものです。すると、masterはGithubPagesに、StagingはHerokuにと言った感じでデプロイの作業が変化します。Werckerで、Deploy target別にふるまいを変化させる にはどうすればよいのでしょうか。
通常deployのgh-pages
とstaging
の2つがあったとして、wercker.yml
を次のように記述すればよいです。
deploy: steps: - STEP-A-1 - STEP-A-2 staging: - STEP-A'-1 - STEP-A'-2 after-steps: - STEP-B-1 - STEP-B-1
deploy
内にターゲット名と一致する物があった場合は、そちらが実行されます。どれにも当てはまらなかった場合は、 steps
内のステップが実行されます。なので、gh-pages
の場合はsteps
内が実行され、staging
の場合はstaging
内が実行されます。
werckerでよくハマるのですが、wercker.yml
は基本的にインデントが4つなんですよね。いつもエディタはインデント2つの設定にしていたのでハマりました。