【Jenkins】Jenkins 導入メモ【SW】

Jenkins のセットアップ
 

概要

Ubuntu17.04 に Jenkins をインストールしたときの手順メモである。
インストールした Jenkins のバージョンは 2.107.1 である。
なお、Jenkins に関することはJenkinsを使った自動テスト環境を作る(前編) | さくらのナレッジを参考にした。


インストール手順

Jenkins公式ページの手順に従い、以下の通り実行する。

% wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
% sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
% sudo apt-get update
% sudo apt-get install jenkins



インストール後の確認

サービスの確認


Ubuntu17.04 では systemd なので復習を兼ねて、systemctl コマンドで Jenkins の設定を確認する。(systemd のメモはこちら)

サービス名は jenkins.service
$ systemctl list-units |grep -i jenkins
session-c3.scope     loaded active abandoned Session c3 of user jenkins
jenkins.service         loaded active exited    LSB: Start Jenkins at boot time
user-129.slice          loaded active active    User Slice of jenkins

jenkins.service はデーモンとして動作する
$ systemctl list-unit-files |grep jenkins
UNIT FILE                                  STATE    
(-- snip --)
jenkins.service                            generated
$ systemctl status jenkins
● jenkins.service - LSB: Start Jenkins at boot time
   Loaded: loaded (/etc/init.d/jenkins; generated; vendor preset: enabled)
   Active: active (exited) since Wed 2018-04-04 22:05:27 JST; 7min ago
     Docs: man:systemd-sysv-generator(8)

 404 22:05:20 PC-Vostro-230 systemd[1]: Starting LSB: Start Jenkins at boot time...
 404 22:05:21 PC-Vostro-230 jenkins[12495]:  * Starting Jenkins Automation Server jenkins
 404 22:05:21 PC-Vostro-230 su[12513]: Successful su for jenkins by root
 404 22:05:21 PC-Vostro-230 su[12513]: + ??? root:jenkins
 404 22:05:21 PC-Vostro-230 su[12513]: pam_unix(su:session): session opened for user jenkins by (uid=0)
 404 22:05:27 PC-Vostro-230 jenkins[12495]:    ...done.
 404 22:05:27 PC-Vostro-230 systemd[1]: Started LSB: Start Jenkins at boot time.



jenkins.service は target 種別(ランレベル)に関係無く起動する

sysinit.target で起動する設定になっている。従来の rc.sysinit に相当する。

% systemctl list-dependencies jenkins.service
jenkins.service
● ├─system.slice
● ├─network-online.target
● │ ├─networking.service
● │ └─NetworkManager-wait-online.service
● └─sysinit.target
●   ├─apparmor.service
●   ├─console-setup.service
●   ├─dev-hugepages.mount
●   ├─dev-mqueue.mount
●   ├─friendly-recovery.service
●   ├─keyboard-setup.service
●   ├─kmod-static-nodes.service
●   ├─lvm2-lvmetad.socket
●   ├─lvm2-lvmpolld.socket
●   ├─lvm2-monitor.service
●   ├─plymouth-read-write.service
●   ├─plymouth-start.service
●   ├─proc-sys-fs-binfmt_misc.automount
●   ├─resolvconf.service
●   ├─setvtrgb.service
●   ├─sys-fs-fuse-connections.mount
●   ├─sys-kernel-config.mount
●   ├─sys-kernel-debug.mount
●   ├─systemd-ask-password-console.path
●   ├─systemd-binfmt.service
●   ├─systemd-hwdb-update.service
●   ├─systemd-journal-flush.service
●   ├─systemd-journald.service
●   ├─systemd-machine-id-commit.service
●   ├─systemd-modules-load.service
●   ├─systemd-random-seed.service
●   ├─systemd-sysctl.service
●   ├─systemd-timesyncd.service
●   ├─systemd-tmpfiles-setup-dev.service
●   ├─systemd-tmpfiles-setup.service
●   ├─systemd-udev-trigger.service
●   ├─systemd-udevd.service
●   ├─systemd-update-utmp.service
●   ├─cryptsetup.target
●   ├─local-fs.target
●   │ ├─-.mount
●   │ ├─boot.mount
●   │ ├─systemd-fsck-root.service
●   │ └─systemd-remount-fs.service
●   └─swap.target
●     └─dev-mapper-ubuntu\x2d\x2dvg\x2dswap_1.swap

稼働中の Jenkins のバージョン確認方法

$ curl -v http://localhost:8080 2>&1 |grep -i x-jenkins
< X-Jenkins: 2.107.1
< X-Jenkins-Session: 04eb9955