20170603

今日はjenkinsとgitbucketを入れちゃおうと思ってます。

最近はtomcat無しでjenkinsもgitbucketも動くらしいですが、tomcat入れます。

バージョンアップはwarファイルを入れ替えるだけ、という感じで行きます。




java8のインストール

まずはjava8入れます。 以下からJavaのtarボールをダウンロード。

ちなみに、ラズパイ上でwgetは出来なかったので、Window10上でブラウザーからダウンロードしてWinSCPでラズパイに送った。

そんでもってインストール。

$ tar zxvf jdk-8u131-linux-arm32-vfp-hflt.tar.gz
$ sudo mv ./jdk1.8.0_131/ /usr/local/.
$ sudo ln -s ./jdk1.8.0_131/ ./java
$ sudo update-alternatives --install /usr/bin/java java /usr/local/java/bin/java 1
update-alternatives: /usr/bin/java (java) を提供するために自動モードで /usr/local/java/bin/java を使います
$ sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/bin/javac 1
update-alternatives: /usr/bin/javac (javac) を提供するために自動モードで /usr/local/java/bin/javac を使います
$ sudo update-alternatives --install /usr/bin/jjs jjs /usr/local/java/bin/jjs 1
update-alternatives: /usr/bin/jjs (jjs) を提供するために自動モードで /usr/local/java/bin/jjs を使います
$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) Client VM (build 25.131-b11, mixed mode)
$ javac -version
javac 1.8.0_131
$ sudo update-alternatives --config java
リンクグループ java に 1 つの alternative のみがあります (/usr/bin/java が提供): /usr/local/java/bin/java
設定は行いません。

Tomcat8のインストール

次はTomcat。迷ったけど、8.0にした。

$ wget http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.0.43/bin/apache-tomcat-8.0.43.tar.gz
$ tar zxvf apache-tomcat-8.0.43.tar.gz
$ sudo cp -rf apache-tomcat-8.0.43 /usr/local/.
$ cd /usr/local/
$ sudo ln -s apache-tomcat-8.0.43/ ./tomcat

次は自動起動スクリプトを書く。

$ sudo vim /etc/init.d/tomcat
 
#!/bin/sh
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
    set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
fi
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start tomcat Server at boot time
# Description: Start tomcat Server at boot time.
### END INIT INFO
 
NAME=tomcat
DESC="Tomcat is a Web contena server."
#DAEMON=/usr/local/tomcat/bin/$NAME
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
 
 
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/lib
 
. /usr/share/initramfs-tools/scripts/functions
 
start(){
  echo "Starting tomcat"
  /usr/local/tomcat/bin/startup.sh
}
 
stop(){
  echo "Shutting down tomcat"
  /usr/local/tomcat/bin/shutdown.sh
}
 
case "$1" in
  start)
      start
      ;;
  stop)
       stop
       ;;
  restart)
      stop
      start
      ;;
  status)
      /usr/local/tomcat/bin/catalina.sh version
      ;;
  *)
      echo "Usage: $0 {start|stop|restart|status}"
esac
 
exit 0

そして自動起動設定。

$ sudo update-rc.d tomcat defaults

これでtomcat8のインストールから自動起動スクリプトの作成、自動起動設定まで完了。

実際にtomcat.serviceを動かしてみる。

$ sudo service tomcat start
$ sudo service tomcat status
● tomcat.service - LSB: Start tomcat Server at boot time
   Loaded: loaded (/etc/init.d/tomcat)
   Active: active (running) since 木 2017-05-11 02:06:47 JST; 6s ago
  Process: 8604 ExecStop=/etc/init.d/tomcat stop (code=exited, status=0/SUCCESS)
  Process: 8663 ExecStart=/etc/init.d/tomcat start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/tomcat.service
           mq8678 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Djava.endorsed.dirs=/usr/local/tomcat/endors...
 
 5月 11 02:06:47 mng-svr01 tomcat[8663]: Starting tomcat
 5月 11 02:06:47 mng-svr01 tomcat[8663]: Using CATALINA_BASE:   /usr/local/tomcat
 5月 11 02:06:47 mng-svr01 tomcat[8663]: Using CATALINA_HOME:   /usr/local/tomcat
 5月 11 02:06:47 mng-svr01 tomcat[8663]: Using CATALINA_TMPDIR: /usr/local/tomcat/temp
 5月 11 02:06:47 mng-svr01 tomcat[8663]: Using JRE_HOME:        /usr
 5月 11 02:06:47 mng-svr01 tomcat[8663]: Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
 5月 11 02:06:47 mng-svr01 tomcat[8663]: Tomcat started.
 5月 11 02:06:47 mng-svr01 systemd[1]: Started LSB: Start tomcat Server at boot time.

なんかJRE_HOMEがおかしい気がするけども。。。 ちゃんと動いた。ブラウザーからも見えた。

01-tomcat

やっぱり自動起動スクリプトにはまった。

スクリプトのヘッダ部分は/etc/init.d/skeletonからコピペしないとダメでした。


Jenkins2のインストール

次はjenkins2。

2になって何が変わったんでしょうか。

まぁ分からんけども、インストールしてみるわ。

多分ロードは以下から。

なんか上のページの、左側がLong-term Support (LTS) で、右側がWeekly。なにそれ?多分左側が安定板?

とりあえずLTSの2.46.3のGeneric Java Package(.war)を落とす。

$ cd
$ pwd
/home/pi
 
$ wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 70340821 (67M)
`jenkins.war' に保存中
jenkins.war
100%[===========================================================>]  67.08M   387KB/s 時間 3m 28s s
2017-05-27 23:29:54 (330 KB/s) - `jenkins.war' へ保存完了 [70340821/70340821]
 
$ sudo cp ./jenkins.war /usr/local/tomcat/webapps/.

あとはhttp://192.168.0.101:8080/jenkinsにアクセスしてごにょごにょすればよいんだけど、そこはインターネットの先人たちに任せよう。

なんかjenkins1の時より厳密な感じ。ログイン画面とかあるし。

そしてログイン後の画面。

02-jenkins

この画面はあまり変わらないね。良かった。


GitBucketのインストール

まずはGitBucketからリポジトリを作成する際の場所を、前回設定したUSBメモリのマウントされた/dataの下にする。

つ~わけで、/dataの下にgitbucketディレクトリを作成。

$ cd /data
$ sudo mkdir gitbucket

続いて、tomcatの起動スクリプトの26行目にGITBUCKET_HOMEを追記する。

$ sudo vim /etc/init.d/tomcat
 
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/lib
export GITBUCKET_HOME=/data/gitbucket           # ← 追記

これで一旦tomcatを再起動しておく。

$ sudo service tomcat restart

あとはgitbucket.warをDLってtomcatのwebappsにコピーすればOKなはず。

$ cd
$ wget https://github.com/gitbucket/gitbucket/releases/download/4.13/gitbucket.war
$ sudo cp gitbucket.war /usr/local/tomcat/webapps/.

そしてブラウザーからhttp://192.168.0.101:8080/gitbucketへアクセス。

03-gitbucket

出た。

右上の「Sign in」からログイン。id/pwはroot/root。

04-gitbucket

ログイン後画面の右上のプルダウンメニューから「System Administration」を選択してrootユーザーをEditしてPasswordを変更しておく。

05-gitbucket

さて、問題はリポジトリ作ってちゃんと/dataの下に出来るのか。

GitBucketの右上の「+」の「New repository」から新しいリポジトリを作成する。

06-gitbucket
そして/dataの下を見ると・・・

$ pwd
/data/gitbucket/repositories/root
$ ls -la
合計 16
drwxr-xr-x 4 root root 4096  6月  3 23:05 .
drwxr-xr-x 3 root root 4096  5月 29 03:15 ..
drwxr-xr-x 7 root root 4096  6月  3 23:05 sample01.git
drwxr-xr-x 7 root root 4096  6月  3 23:05 sample01.wiki.git

出来た。


まとめ

java、tomcatの上で動かすアプリjenkinsとgitbucketを、今日はまとめてインストールしてみた。

つ~か、warファイル置くだけなんだけどw

これ、今現在も昔のLet's Note(PentiumM)で動いているんだけど、ラズパイで動いちゃうんだってところに感動したまま、今日は終わろう。これ以上やるとまたハマるwww