Jenkinsではじめるビルド職人入門 が、11月中だけ発売記念で無料(12月から1,000円)だったので読んでみた。
自分で使ったことはないけど、隣のプロジェクトが使ったりしているので、そんなに目新しいことはなかったのだけれど、とりあえずうちにも入れてみようと思う。
portsを調べると、devel/jenkinsと言うのがあったのでインストールしてみる。
すると、jenkins.warをダウンロードしてきて /usr/local/share/jenkins にインストールして、後はユーザやグループを作ったり、ディレクトリを作ったり、/usr/local/etc/rc.d に起動スクリプトを作ってくれたりするらしい。
jenkinsは、warなので、tomcatのようなServletコンテナでも実行できるし、直接javaに渡すことでjenkinsに入っている Winstone と言うコンテナでスタンドアローンでも起動できる。
rcスクリプトで jenkins_enable="YES" にした場合は、Winstone を使うことになる。
既にtomcatなどを動かしている場合は、そちらを使った方が良いかも知れない。設定方法わからないけど。

とりあえず、うちではtomcatは動いていなかったので、rcスクリプトをそのまま使う。/usr/local/etc/rc.d/jenkinsを読むと、jenkins_enable="YES"にしたときのデフォルトの挙動と、それぞれの設定項目が読める。
: ${jenkins_enable="NO"}
: ${jenkins_home="/usr/local/jenkins"}
: ${jenkins_args="--webroot=${jenkins_home}/war --httpListenAddress=127.0.0.1 --httpPort=8180 --ajp13ListenAddress=127.0.0.1 --ajp13Port=8009 --prefix=/jenkins"}
: ${jenkins_java_home="/usr/local/jdk1.6.0"}
: ${jenkins_user="jenkins"}
: ${jenkins_group="jenkins"}
: ${jenkins_log_file="/var/log/jenkins.log"}
※ jenkins_java_home は、portsが決めてくれたんだと思う。うちはjdk1.6.0が入っていたので。
これを見ると、jenkins_homeは/usr/local/jenkinsであり、httpが8180で、ajp13が8009で、それぞれlocalhostだけでLISTENすることがわかる。
なんとなく頻繁に書き変わるものは/varに置きたいので、/etc/rc.conf は以下のようにした。
# jenkins                                                                       
jenkins_enable="YES"
jenkins_home="/var/local/jenkins"
そして、/var/local/jenkinsを作成。
# mkdir /var/local/jenkins
# chown jenkins:jenkins /var/local/jenkins
そして、jenkins起動。
# /usr/local/etc/rc.d/jenkins start

FreeBSDにはグラフィカルなブラウザを入れていないので、このままではアクセスできない。apache経由でアクセスできるように、httpd.conf の VirtualHostの中に以下を追加。
    <Location /jenkins>
        ProxyPass ajp://127.0.0.1:8009/jenkins
    </Location>
apacheに読み込ませる。
# apachectl graceful
これで、apache経由でjenkinsにアクセスできる。
アクセスすると、最初は誰でもjenkinsが使えるモード。
Jenkinsの管理→システムの設定で、「セキュリティを有効化」にチェックを入れる。
アクセス制御のところでアカウント管理のバックエンドが選べるので、小規模なのであれば「Jenkinsのユーザーデータベース」で問題ないだろう。PAMも使えるようなので、そちらでも良いかも知れない。
この後の手順が良くわかっていないのだが、私の場合は同じ画面の「権限管理」で「行列による権限設定(プロジェクト単位)」を選び、ユーザを追加してすべての権限にチェックを入れ、画面一番下の「保存」を押したらサインアップの画面が出て来たので、先ほど権限で追加したのと同じユーザ名でユーザを登録した。
普通に保存だけして、最初の一人は管理者としてサインアップできるのかも知れないが、面倒ので検証していない。
後は、普通にジョブを追加してjenkinsに実行してもらえば良いのだが、開発中のプロジェクトもないのでやってもらうことがないのである。
明日会社でプロジェクトのリリース手順でも自動化しようかな・・・。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: Jenkinsのインストール

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/2812

コメントする

このブログ記事について

このページは、falseが2011年11月25日 22:24に書いたブログ記事です。

ひとつ前のブログ記事は「スキャナが使えない」です。

次のブログ記事は「PostgreSQL9.1.1に上げる」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1