ブログ

ryuzeeによるブログ記事。不定期更新

ReVIEW + Jenkinsでドキュメントを常時ビルドする

ReVIEWはマークアップ言語でソースを記述することで、html形式やPDF形式の綺麗な体裁の文書を作れるオープンソースのツールです。入手はhttp://github.com/kmuto/review から可能です。例えば

= 章
== 節
=== 項
 * 箇条書き
 * 箇条書き

のような書き方をするとhtmlであれば、それぞれh1〜h3に変換されたり、ulに変換されたりします。PDFの場合は予め規定された体裁に変換されます。

今回は、Windows Azure上の仮想マシン(Ubuntu12LTS)上で、このドキュメントを常時ビルドする方法を紹介します。

ReVIEWのインストール

ReVIEWは動作にrubyが必要です。また最新版はgithubにて提供されていますので、gitを導入しておきます。

sudo su
apt-get install ruby
apt-get install git

ReVIEWを配置し、PATHに追加します。

cd /usr/local
git clone https://github.com/kmuto/review.git
vi /etc/bash.bashrc

以下の内容を追加します。

export PATH=$PATH:/usr/local/review/bin

ReVIEWでPDFを作るために、TeX Live 2011を導入します。パッケージはかなり膨大(2500個くらいダウンロードする)なので導入には多少時間がかかります。Windows Azure上の仮想マシンで約1時間です。

cd /tmp
wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
tar xvf install-tl-unx.tar.gz
cd install-tl-20121018
perl ./install-tl
/usr/local/texlive/2012/bin/x86_64-linux/tlmgr path add

またotf.styとjumoline.styをインストールします。

cd /tmp
wget http://ftp.kddilabs.jp/TeX/ptex-win32/current/otfbeta.tar.xz
tar xvf otfbeta.tar.xz
cd share/texmf/
cp -Rv * /usr/local/texlive/texmf-local/
mktexlsr

cd /tmp
wget http://www.htc.nagoya-u.ac.jp/~yamamoto/lecture/tex/stylemacro/jumoline.sty
cp -p jumoline.sty /usr/local/texlive/texmf-local/tex/platex/misc/
mktexlsr

最後にcid-x.mapを更新します。

vi /usr/local/texlive/2012/texmf/fonts/map/dvipdfmx/cid-x.map

編集は末尾に以下を追加します。

hminr-h     H               Ryumin-Light
hminr-v     V               Ryumin-Light
otf-ujmr-h  UniJIS-UTF16-H  Ryumin-Light
otf-ujmr-v  UniJIS-UTF16-V  Ryumin-Light
otf-cjmr-h  Adobe-Japan1-6  Ryumin-Light
otf-cjmr-v  Identity-V      Ryumin-Light

hgothr-h    H               GothicBBB-Medium
hgothr-v    V               GothicBBB-Medium
otf-ujgr-h  UniJIS-UTF16-H  GothicBBB-Medium
otf-ujgr-v  UniJIS-UTF16-V  GothicBBB-Medium
otf-cjgr-h  Adobe-Japan1-6  GothicBBB-Medium
otf-cjgr-v  Identity-V      GothicBBB-Medium

以上で、ReVIEWの準備は完了です。

テスト用のソースを準備する

今回はサンプルを用意しました。 https://github.com/ryuzee/review_sample

まずはビルドをテストするために、サーバ上の一般ユーザーアカウントで、

cd /tmp/
git clone https://github.com/ryuzee/review_sample.git
cd review_sample
review-pdfmaker sample.yaml

これでsample.pdf が作成されるはずです(確認が終わったら/tmp/review_sampleは削除してください)

Jenkins環境の準備

次に常時ビルドの環境を用意します。ソースコードはgithubで管理する前提です。

Jenkinsが導入されていない場合は導入します。今回はaptでパッケージも公開されているのでそれを利用しました。

sudo apt-get install jenkins

gitを使うのでプラグインを導入します。GitHub pluginを管理画面から導入しておきます。

次にJenkinsからGithubにアクセスするための準備をします。 以下のようにしてjenkinsアカウントからGithubに接続するための鍵ペアや接続設定をします。 なお、このときパスフレーズは空にします。また鍵はgithub.keyという名前で保存することとします。 以下の作業はjenkinsアカウントです。

sudo su
su - jenkins
cd ~/.ssh
ssh-keygen -t rsa -C jenkins@your.domain

ここで作った公開鍵(末尾に.pubがついているもの)をgithubのユーザーアカウントに登録しておきます。

次に~/.ssh/config を作成します。内容は以下の通りです。

Host github.com    HostName        github.com
    IdentityFile    ~/.ssh/github.key
    User            git

jenkisユーザーのgitの設定を行います。

git config --global user.email "jenkins@your.domain"
git config --global user.name "Jenkins"

ここまでできたら念のためjenkinsユーザーで触れるか確認しておきます。 ここでエラーが出る場合は、ここまでの作業を確認してください。よくあるのは秘密鍵のパーミッションです。

cd /tmp
git clone git@github.com:ryuzee/review_sample.git

ここまでできたらJenkinsの設定に戻ります。 新規のフリースタイルジョブを作ります。プロジェクト名はなんでも構いません。 gitの設定は以下のように、Githubのレポジトリ接続情報を設定します。

ビルドはGithubに定期的にポーリングする形とします。

ビルドの定義はシェルの実行を選択し、以下のように入力します。

cd ${WORKSPACE} && export PATH=$PATH:/usr/local/review/bin && review-pdfmaker sample.yaml && mkdir -p ${WORKSPACE}/build && mv sample.pdf ${WORKSPACE}/build/

ここでは取得したソースのディレクトリに移動し、review-pdfmakerを実行して、できたPDFを${WORKSPACE}/build ディレクトリに上書きで配置していきます。

以上で作業は完了です。これでビルドを実行します。

ビルドが完了するとworkspaceの中に以下のようにPDFができます。

以上で作業は完了です。 あとは、自分の端末で原稿を修正し、githubにpushすれば5分間隔でビルドされPDFが作成されます。 必要に応じてビルドの結果をメールで通知したりしてください。

アジャイルコーチングやトレーニングを提供しています

株式会社アトラクタでは、アジャイル開発に取り組むチーム向けのコーチングや、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください。

詳細はこちら
  • スクラム実践者が知るべき97のこと
  • 著者/訳者:Gunther Verheyen / 吉羽龍太郎 原田騎郎 永瀬美穂
  • 出版社:オライリージャパン(2021-03-23)
  • 定価:¥ 2,640
  • スクラムはアジャイル開発のフレームワークですが、その実装は組織やチームのレベルに応じてさまざまです。本書はスクラムの実践において、さまざまな課題に対処してきた実践者が自らの経験や考え方を語るエッセイ集です。日本語書き下ろしコラムを追加で10本収録
  • プロダクトマネジメント ―ビルドトラップを避け顧客に価値を届ける
  • 著者/訳者:Melissa Perri / 吉羽龍太郎
  • 出版社:オライリージャパン(2020-10-26)
  • 定価:¥ 2,640
  • プロダクト開発を作った機能の数やベロシティなどのアウトプットで計測すると、ビルドトラップと呼ばれる失敗に繋がります。本書ではいかにしてビルドトラップを避けて顧客に価値を届けるかを解説しています。
  • SCRUM BOOT CAMP THE BOOK 【増補改訂版】
  • 著者/訳者:西村直人 永瀬美穂 吉羽龍太郎
  • 出版社:翔泳社(2020-05-20)
  • 定価:¥ 2,640
  • スクラム初心者に向けて基本的な考え方の解説から始まり、プロジェクトでの実際の進め方やよく起こる問題への対応法まで幅広く解説。マンガと文章のセットでスクラムを短期間で理解できます。スクラムの概要を正しく理解したい人、もう一度おさらいしたい人にオススメ。
  • みんなでアジャイル ―変化に対応できる顧客中心組織のつくりかた
  • 著者/訳者:Matt LeMay / 吉羽龍太郎、永瀬美穂、原田騎郎、有野雅士
  • 出版社:オライリージャパン(2020-3-19)
  • 定価:¥ 2,640
  • アジャイルで本当の意味での成果を出すには、開発チームだけでアジャイルに取り組むのではなく、組織全体がアジャイルになる必要があります。本書にはどうやってそれを実現するかのヒントが満載です
  • レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス
  • 著者/訳者:David Scott Bernstein / 吉羽龍太郎、永瀬美穂、原田騎郎、有野雅士
  • 出版社:オライリージャパン( 2019-9-18 )
  • 定価:¥ 3,132
  • レガシーコードになってから慌てるのではなく、日々レガシーコードを作らないようにするにはどうするか。その観点で、主にエクストリームプログラミングに由来する9つのプラクティスとその背後にある原則をわかりやすく説明しています。
  • Effective DevOps ―4本柱による持続可能な組織文化の育て方
  • 著者/訳者:Jennifer Davis、Ryn Daniels / 吉羽 龍太郎、長尾高弘
  • 出版社:オライリージャパン( 2018-3-24 )
  • 定価:¥ 3,888
  • 主にDevOpsの文化的な事柄に着目し、異なるゴールを持つチームが親和性を高め、矛盾する目標のバランスを取りながら最大限の力を発揮する方法を解説します
  • ジョイ・インク 役職も部署もない全員主役のマネジメント
  • 著者/訳者:リチャード・シェリダン / 原田騎郎, 安井力, 吉羽龍太郎, 永瀬美穂, 川口恭伸
  • 出版社:翔泳社( 2016-12-20 )
  • 定価:¥ 1,944
  • 米国で何度も働きやすい職場として表彰を受けているメンローの創業者かつCEOであるリチャード・シェリダン氏が、職場に喜びをもたらす知恵や経営手法、より良い製品の作り方などを惜しみなく紹介しています
  • アジャイルコーチの道具箱 – 見える化の実例集
  • 著者/訳者:Jimmy Janlén / 原田騎郎, 吉羽龍太郎, 川口恭伸, 高江洲睦, 佐藤竜也
  • 出版社:Leanpub( 2016-04-12 )
  • 定価:$14.99
  • この本は、チームの協調とコミュニケーションを改善したり、行動を変えるための見える化の実例を集めたものです。96個(+2)の見える化の方法をそれぞれ1ページでイラストとともに解説しています。アジャイル開発かどうかに関係なくすぐに使えるカタログ集です
  • カンバン仕事術 ―チームではじめる見える化と改善
  • 著者/訳者:原田騎郎 安井力 吉羽龍太郎 角征典 高木正弘
  • 出版社:オライリージャパン( 2016-03-25 )
  • 定価:¥ 2,138
  • チームの仕事や課題を見える化する手法「カンバン」について、その導入から実践までを図とともにわかりやすく解説した書籍。カンバンの原則などの入門的な事柄から、サービスクラス、プロセスの改善など、一歩進んだ応用的な話題までを網羅的に解説します。
  • Software in 30 Days スクラムによるアジャイルな組織変革“成功"ガイド
  • 著者/訳者:Ken Schwaber、Jeff Sutherland著、角征典、吉羽龍太郎、原田騎郎、川口恭伸訳
  • 出版社:アスキー・メディアワークス( 2013-03-08 )
  • 定価:¥ 1,680
  • スクラムの父であるジェフ・サザーランドとケン・シュエイバーによる著者の日本語版。ビジネス層、マネジメント層向けにソフトウェア開発プロセス変革の必要性やアジャイル型開発プロセスの優位性について説明
  • How to Change the World 〜チェンジ・マネジメント3.0〜
  • 著者/訳者:Jurgen Appelo, 前川哲次(翻訳), 川口恭伸(翻訳), 吉羽龍太郎(翻訳)
  • 出版社:達人出版会
  • 定価:500円
  • どうすれば自分たちの組織を変えられるだろう?それには、組織に変革を起こすチェンジ・マネジメントを学習することだ。アジャイルな組織でのマネージャーの役割を説いた『Management 3.0』の著者がコンパクトにまとめた変化のためのガイドブック