技術書典4に向けてRe:VIEWのCI環境をたてた

こんにちは。女子原稿スロープスタイル、りまりま団代表のもふもふです。
見てますか?オリンピック。どの競技もいいですよねー。
もふもふちゃんは今のところスノボスロープスタイルが1番すきです。

技術書典4、もふちゃんもりまりま団として申し込みをしまして、
ありがたいことにサークルスペースをいただきました。
あれだね、もう完全に一般民だったのでブランクしか感じない…。

はあもうやばいって。

今回はCI環境あるといいなと思いましてwerckerでたててみました。
別のCIサービスも使ってみたいですね。

アカウント登録

初めの画面でSign in with GitHubを選択すると、
この時点で自分のGitHubアカウントと連携できます。

今回はRe:VIEW原稿をGitHub管理していますので、
アプリケーション連携をしておきます。

GitHub認証をするとwerckerアカウントの作成を求められます。
ユーザー名とメールアドレスを登録してアカウント作成を行います。

f:id:MofuMofu:20180218103025p:plain

このアドレスは同人誌にも書いてある問い合わせ先だから出してるけど、普通は人に見せるもんじゃないと思うよ!

アプリケーションを作成する

Create for first Applicationをクリックすると、werckerのビルド設定ができます。

f:id:MofuMofu:20180218103149p:plain

まずはじめに、どのGitホスティングサービスと連携するかを選択します。

f:id:MofuMofu:20180218103207p:plain

次に、どのリポジトリを連携するか選択します。

f:id:MofuMofu:20180218103726p:plain

そして、認証方法を選択します。SSHかデプロイキー、どちらかを選べます。

f:id:MofuMofu:20180218103305p:plain

Createをクリックすると、ビルド用アプリケーションができました。

f:id:MofuMofu:20180218103325p:plain

wercker.ymlの作成

キャプチャをみるとわかりますが、werckerのビルド方法はwercker.ymlで指定します。
言語指定もできます。プログラム書ける人はお得意なものを選択するとよさそうです。
ちなみに選択できる言語は下記の通りです。

  • yml形式
  • Golang
  • Node.js
  • Ruby
  • Python

今回はRe:VIEWビルド用のDockerコンテナを利用します。

boxの指定

ビルドするDockerコンテナを指定します。今回はこのイメージを利用させていただきました。

実施コマンドの指定

stepsでビルド時に実行するコマンドを指定します。

box: vvakame/review

build:
  steps:
    - bundle-install
    - script:
      name: install
      code: npm install
    - script:
      name: create pdf
      code: npm run pdf
    # - script:
    #   name: create epub
    #   code: npm run epub
    - script:
      name: output artifacts
      code: cp articles/TB4-Elastic-Stack-6.* $WERCKER_REPORT_ARTIFACTS_DIR/

あとはRe:VIEWの設定がうまくいればビルドができる!と。これは便利ですねー。

ま、まだビルドうまくいってないんだけどね…