読者です 読者をやめる 読者になる 読者になる

Jenkins構築方法

参考にした本

改訂新版Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)

OSにインストール

OpenJDKのインストール

appadm@ik1-305-12942 ~]$ sudo yum install java-1.7.0-openjdk

JenkinsのRPMパッケージの公開鍵のインポート(目的わからず。。

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

Jenkisのインストール

sudo yum install jenkins

Jenkinsのデーモン起動

sudo /sbin/service jenkins start

次回もちゃんと起動する?

Firewallの設定

cd /etc/sysconfig/
vi iptables
-A INPUT -p tcp --dport 8080   -j ACCEPT
service iptables restart

f:id:kenta_everyday:20170220214455p:plain

JAVA_HOMEの設定

JAVAの場所を調べる

[appadm@ik1-305-12942 /]$ readlink $(readlink $(which java))
/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
sudo vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.85.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
source /etc/profile

つまづいた箇所(javacがない。。。)

後のJDKの設定でうまく行かなかった箇所を記載。
javacがなくてつまずく。。。
参考にさせてもらったサイト
http://dev.classmethod.jp/cloud/aws/java8_tomcat8_on_amazon_linux/
openjdkの中身はjreなのでjavacは入っていないんだとか。。。

sudo yum -y install java-1.7.0-openjdk-devel

javacを入れるとjenkinsのjdkの設定が通るようになった!

Jenkinsの初期設定

以下、WEBからJenkinsの設定をする。

JDKの設定

名前とJAVA_HOMEのパスを設定する。
JAVA_HOMEのパスを設定する際にjavacがないとエラーが出る。

ANTの設定

まだ未設定。。

CVSの設定

Cvs Root
XXX.XXX.XXX.XXX:/home/xxxxxx/cvs/cvsroot

ジョブを作る

現在、CVSからのチェックアウトまで自動化OK

ソースコード管理の設定

CVSを選択してCVSROOTを以下の形式で設定する。

:pserver:user@XXX.XXX.XXX.XXX:/home/user/cvs/cvsroot

This Connection Requires A Passwordでパスワードを入れておく。
LocationでHead,Branch,Tagのどれかを選択する。
ModulesでRemote Name(CVS上のプロジェクトの名前?)Local Name(チェックアウトしてきた時の名前)を設定する。

ビルドの設定

まだ未設定。ANTでビルドする予定だけど。

結果確認

現状はチェックアウトまではできていて、以下のworkspace配下にジョブ単位で作成される。
/var/lib/jenkins/workspace/b
それぞれ資源はチェックアウトされる。

Jenkinsを使用しての感想

小規模のシステム開発であれば使用できそう。
長期のマージが必要なプロジェクトの場合は、マージするように移行用の端末での操作が必要そう。
チェックアウトする必要があるのでDiskの容量を追加する必要がある。
ジョブ名が被ることはあるのかな?
ジョブ名の命名規則がないと、わからなくなりそう。
ジョブをたくさん記載するのが手間になるかも。でも、ライブラリアンは不要にはなるけど。
→でも、ANTがあればいらないか?
設定をテンプレート化して配置出来る仕組みってないのかな?
チェックアウトしてきた資源は上書き?
現状さくらの設定でメールが送信できない。
クラスパスの設定とかは?
英語のエラーログが読めないバカだと無理。
javaコンパイラ

f:id:kenta_everyday:20170220214950p:plain