LoginSignup
11
9

More than 5 years have passed since last update.

WerckerでRe:VIEWの原稿をビルドする

Last updated at Posted at 2016-03-26

Dockerコンテナを使いやすいWerckerというCIサービスがあるそうなので、Re:VIEWで書いた原稿をビルドするようにしてみました。

サンプルのリポジトリ: https://github.com/mstssk/ReVIEW_Wercker_Sample

CircleCI 2.0の場合はこちら
http://qiita.com/mstssk/items/1820dd2e5e03d735ba19

解説

リポジトリの構成はreview-initコマンドで初期化したほぼそのままの構成の前提です。

Werckerも、CircleCIなどの他のサービスと同様に、GitHubリポジトリを監視してくれます。
連携の設定についてもだいたい同じだったので割愛します。
Wercker独自の設定ファイルについては下記です。

wercker.ymlの設定

Werckerでは設定をwercker.ymlに記述します。今回の場合、たったの10行程度で済みました。

wercker.yml
box: vvakame/review

build:
  steps:
    - script:
        name: Build PDF
        code: |
          cd articles
          rake clean pdf
          cp book.pdf ${WERCKER_REPORT_ARTIFACTS_DIR}/
          ../upload_dropbox.sh book.pdf ${DROPBOX_TOKEN}

使用するコンテナの指定

box: vvakame/review

vvakameさんが作ったRe:VIEWのビルド用コンテナです。
https://hub.docker.com/r/vvakame/review/

実行するscript

rake clean pdf

Re:VIEWでPDFをビルドします。
review-initはRakefileを作ってくれるので、ここではそのままrakeコマンドでビルドしています。
もちろん、他のビルドツールでreview-pdfmakerや他のRe:VIEWのサブコマンドを使ってもいいです。
 

cp book.pdf ${WERCKER_REPORT_ARTIFACTS_DIR}/

ビルドしたPDFをWerckerの成果物ディレクトリにコピーしています。
コピーしておいたPDFはWerckerからダウンロードできます。
 

../upload_dropbox.sh book.pdf ${DROPBOX_TOKEN}

Werckerからのダウンロードは使い勝手が良くないので、Dropboxにアップロードしておくと楽です。
アップロードするための簡単なShellScriptを呼び出しています。
${DROPBOX_TOKEN}は事前に発行しておいたDropboxのAPIトークンです。
Werker側のリポジトリ設定で、環境変数として登録してあります。

APIトークンはDropboxの開発者向けページで自分のアプリを作成して発行しておきます。

11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9