CentOS で、OpenJDK を利用する。
Jenkins(Hudson)用に、Java をインストールする必要があるのですが、
せっかくなので、OpenJDKをインストールしました。
通常では、 yum からアクセスできないですが、
Fedora Project で作成している Extra Packages for Enterprise Linux (EPEL) を利用することで、インストールできるようになります。
openjdk 1.6.0 のインストール手順
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/<arch>/epel-release-<最新バージョン>.noarch.rpm # yum install java-1.6.0-openjdk
epel-release パッケージは、変更されるため事前にファイル名を確認してください。
Hudson(Jenkins) はじめました。
はじめに
Buildbotを常用していたのですが、Erlangと相性の悪い部分があったので、Jenkinsに乗り換えました。
ソースコードも読みつつ、パッチを当てようかとも思ったのですが、
アップデートのたびに個別パッチは、結局のところ、大変になるだけなのでCIツールを変更しました。
Buildbot の機能に依存している部分が少なかったため、ツール変更しても問題ない感じです。
せっかくなので、いろいろとまとめていきたいと思います。
インストール
war ファイルをダウンロードして、好きなディレクトリに置くだけです。
テスト起動
$ cd /home/kuma8 $ wget http://hudson-ci.org/downloads/war/latest/hudson.war $ java -jar hudson.war
適当に GUI からジョブを作ってみましょう。
これだけで、CIを体験できます。
バックアップ
デフォルトでは、 $HOME/.hudson に設定ファイルなど置かれます。
環境変数の HUDSON_HOME に任意のパスを設定すると変更できます。
バックアップは、 .hudson を丸ごと圧縮します。
$ cd ~ $ tar zcf hudson.tar.gz ~/.hudson
platex経由でPDFを生成する。その2
前回の内容では、Sphinx プロジェクト内に画像ファイルが無いとエラーになってしまいました。
その現象は、すでに本家のレポートとして報告されています。
そのパッチを参考に以下のようにすると、画像ファイルが無い場合にもエラーとならずPDFが作成できます。
all-pdf-ja: $(wildcard *.tex) for f in *.pdf *.png *.gif *.jpg *.jpeg; do ebb $$f; done
パッチをすべて当てない理由は、
-mendex -U -f -d '$(basename $<).dic' -s python.ist '$(basename $<).idx'
の部分が、確認した環境でうまく動作しなかったからです。
platex経由でPDFを生成する。
はじめに
Sphinx 1.0.6 から platex経由で日本語を含むPDFが出力できるようになりました。
以前は、LaTeX経由でのPDF作成のように、いろいろと手を入れる必要がありました。
まだ利用方法のドキュメントが無いため紹介します。
platex経由でのPDF作成
まず、platexが利用できる環境を用意します。
TexLive2010 で利用できることを確認できているので、TexLive2010以降をおすすめします。
次に、サンプルのプロジェクトを作成します。細かい手順は、http://sphinx-users.jp/gettingstarted/index.html Sphinxをはじめようを見るとわかりやすいです。
ここまでで、サンプルのプロジェクトができあがっているので、platex経由でPDFが出力できるようにします。
まず、 conf.py の設定を変更します。 次のように、languageの値を 'ja' に変更します。
# The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. language = 'ja'
この設定で、日本語対応のコードが含まれたソースファイルが生成されます。
次に内容を、Makefileの最後に追加します。
platexpdf: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running pLaTeX files through platex..." make -C $(BUILDDIR)/latex all-pdf-ja @echo "platex finished; the PDF files are in $(BUILDDIR)/latex."
この変更で、platex経由でPDFを生成できるようになります。
実際に、PDFを作成するには、
$ make platexpdf
とします。
enjoy sphinx!
くれるというのなら。
と書き込むだけで、話題のMacBook Air 11インチが当たるプレゼントキャンペーンが実施されています。
ブログは放置してたので、今年はアウトプットを増やしていきたいなと思ってます。
リポジトリを後から共有できるようにする。
はじめに
リポジトリを共有モードにするのを忘れていてトラブったので、解決した際の方法を紹介します。
今回は、 ssh経由でアクセスことが前提です。
http/https を利用する場合は別途手順がありますので、機会があれば後日紹介します。
解決方法
まず、 Git リポジトリをチームで共有する際には、 --shared オプションを付与し、リポジトリを初期化します。次に、チームのメンバーの umask を 002 もしくは 007 に変更します。
手順さえ間違えなければ、リポジトリの共有は簡単です。
--shared を忘れた場合はどうなるのかというと、正しく共有できる状態となっていないため、Permission denied が発生します。
この状態は、次の手順で解消できます。
$ cd /your/git/repository $ git config core.sharedRepository group $ chmod -R g+ws hooks $ chmod -R g+ws info $ chmod -R g+ws objects $ chmod -R g+ws refs
一連の手順の説明をしていくと、
git config core.sharedRepository group
で、 config ファイルに、リポジトリの共有設定を追加しています。
chmod では、各ディレクトリのアクセス権を変更しています。
--shared 付きで初期化されたリポジトリは、ディレクトリにグループからの書き込みとスティッキービットが付与されています。
-
- shared なし
$ git init --bare test.git $ ls -l test.git -rw-r--r-- 1 kuma8 staff 23 1 15 22:42 HEAD -rw-r--r-- 1 kuma8 staff 66 1 15 22:42 config -rw-r--r-- 1 kuma8 staff 73 1 15 22:42 description drwxr-xr-x 2 kuma8 staff 408 1 15 22:42 hooks drwxr-xr-x 2 kuma8 staff 102 1 15 22:42 info drwxr-xr-x 4 kuma8 staff 136 1 15 22:42 objects drwxr-xr-x 4 kuma8 staff 136 1 15 22:42 refs
-
- shared あり
$ git init --bare --shared $ ls -l test.git -rw-rw-r-- 1 kuma8 staff 23 1 15 22:43 HEAD -rw-rw-r-- 1 kuma8 staff 126 1 15 22:43 config -rw-rw-r-- 1 kuma8 staff 73 1 15 22:43 description drwxrwsr-x 2 kuma8 staff 408 1 15 22:43 hooks drwxrwsr-x 2 kuma8 staff 102 1 15 22:43 info drwxrwsr-x 4 kuma8 staff 136 1 15 22:43 objects drwxrwsr-x 4 kuma8 staff 136 1 15 22:43 refs
chmod を利用して、--shared と同じ状態にしています。