半空洞男女関係

思ったこととかプログラミングしてるときのメモとか色々かいてます。メールはidそのままgmail

werckerでdeploy targetに応じてふるまいを変化させる

研究室のウェブサイトのホストにgithub pagesを使っているのですが、デザインの大幅な変更を行うためにちまちま作業を行っています。作業中はもちろん別ブランチで作業していますが、そうするとgithubCUIに慣れない人がサイトに対してフィードバックしづらかったので、Staging環境を作ることにしました。

今はWerckerがgithub-pagesに対してdeployするようになっているのですが、Staging環境はHerokuなどに向けてベーシック認証などの軽い認証をかけておきたいものです。すると、masterはGithubPagesに、StagingはHerokuにと言った感じでデプロイの作業が変化します。Werckerで、Deploy target別にふるまいを変化させる にはどうすればよいのでしょうか。


通常deployのgh-pagesstagingの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つの設定にしていたのでハマりました。