##この記事でわかること
- Mac に Jenkins をインストールして起動するまでの流れ
- パッケージからではなく、Homebrew を使う方法
- LAN内の 他のPCから Jenkins にアクセスするための設定
- 無償で使える Java (JDK) のインストール方法や変更方法
##やりたいことのイメージ
- Jenkins による自動処理を MacBook や Mac mini 等で行いたい
- Mac をサーバとして、ローカルエリアネットワーク (LAN) 内で利用
##Jenkins って何?
**CI(継続的インテグレーション)**を支援するオープンソース・ソフトウエア(OSS)の1つで、デファクトスタンダード。
CI とは、開発
⇒ビルド
⇒サーバ配備
⇒テスト
⇒リリース
、のような、開発〜リリースに至る一連の流れを自動的・高頻度に行い、手作業によるミスを回避し、問題(bug)を早期に発見することで、品質の向上と開発効率の向上を目指す手法のこと。
※ 上記のような CIとしてではなく、一連の処理を自動的に行う機能として使われるケースも多い
##ざっくり、入れるものは以下
- Homebrew
- Java (JDK)
- Jenkins
##検証環境
- MacBook Pro (13-inch, Mid 2010)
- macOS (Sierra) 10.12.6
##インストールの流れ
Homebrew をインストール
インストール済みであればスキップ。
その場合は brew update
でアップデートしておくと良い。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 参考:Homebrew 公式サイト
- 必要に応じて Command Line Tools (CLT) for Xcode もインストール
- Homebrew インストールの流れで同時にインストールされるはず
- インストールされなければ、
xcode-select --install
でインストール
- インストール後、コマンドラインで
brew doctor
と打って、Your system is ready to brew.
と表示されればOK
###Java (JDK) をインストール
インストール済みであればスキップ。
コマンドラインで java -version
と打って、バージョン等が表示されればインストール済み。
$ java -version
未インストールの場合、以下のダイアログが表示されるが、OK をクリックして終了する。(ここで紹介される Oracle の Java はインストールしない)
####(インストール済みの場合の確認事項)
商用利用で Java (JDK) を無償利用したい場合、Mac に標準的にインストールされる Oracle JDK はサポート終了 or 有償サポートになっているので、Oracle JDK ではない事を確認しておく。
その場合を含め、JDK の確認やバージョンを変更したい場合は以下を参照。
⇒ JDK の確認・バージョン等を変更する場合(※ページ内リンク)
####Java (AdoptOpenJDK) をインストール
Java (JDK) は、JavaAdoptOpenJDK 8 が 2023年9月までのサポートが確定しているのでオススメ。
参考:無償でJavaを商用使用する場合に検討すべき3つのJDK - Qiita
$ brew tap adoptopenjdk/openjdk
$ brew cask install adoptopenjdk8
途中、パスワードが求められた場合は Mac のパスワードを入力。
上記コマンドでインストール後、.bash_profile
に環境変数 JAVA_HOME
を設定し、パスを通す。
$ echo 'export JAVA_HOME=`/usr/libexec/java_home -v 1.8`' >> ~/.bash_profile
$ echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bash_profile
$ source ~/.bash_profile
コマンドラインで java -version
と打って、AdoptOpenJDK のバージョンが表示されればOK。
$ java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)
###Jenkins をインストール
$ brew install jenkins
:
==> Summary
🍺 /usr/local/Cellar/jenkins/2.189: 7 files, 78MB, built in 1 minute 46 seconds
成功すると上記のような表示になる。
コマンドラインで jenkins --help
と打ち込んで、Jenkins のヘルプが表示されるのを確認しても良い。
##Jenkins の初期設定
初期設定をするため、Jenkins を起動する。
$ jenkins
すると起動に関わるログが流れるが、途中で以下のようなログが出てくるはず。
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
abcdefghijklmnopqrstuvwxyz012345
This may also be found at: /Users/hoge/.jenkins/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
この時点で Jenkins は立ち上がっているので、インストールした Mac のブラウザから http://localhost:8080/
にアクセスする。
すると以下の画面が表示されるので、上記のターミナルに表示された文字列「abcdefghijklmnopqrstuvwxyz012345」(※この文字列は仮、実際はターミナル上に表示された文字列)を、Administrator password 欄に入力して、Continue をクリック。
※ もしパスワードが見つけられない場合、コマンドラインで cat /Users/{アカウント名}/.jenkins/secrets/initialAdminPassword
とすることでも確認できる。
次にプラグインのインストールの確認画面が出るので、左側のオススメセット(Install suggested plugins)をクリック。
しばらくインストール中の画面が表示されて…
管理ユーザーを作成する画面が表示されるので、項目を記入して Save and Continue をクリック。
次に URLの設定画面になるが、変更せずに Save and Finish をクリック。
もう1画面…!
Start using Jenkins をクリック。
で、無事に起動。
初期設定が終わったので、ここで 一旦 Jenkins を終了させる。
(先ほど Jenkins を起動したターミナル上で Ctrl-C
)
##他の PC からアクセスできるように Jenkins を起動
###設定ファイルの書き換え
Jenkins を起動する時に適用される設定ファイルを編集する。
以下は vi
を使う例だが、使い慣れているテキストエディタでも可。
$ vi /usr/local/Cellar/jenkins/{バージョン名}/homebrew.mxcl.jenkins.plist
以下の行を見つけて、Jenkins を起動する Mac のIPアドレス に書き換える。
<string>--httpListenAddress={IPアドレス}</string>
例:<string>--httpListenAddress=192.168.1.10</string>
もしIPアドレスが分からなければ、0.0.0.0
でもOK
###Jenkins のバックグラウンド起動
初期設定時は jenkins
で起動したが、バックグラウンドで起動したいので、brew services
コマンドを使用する。
$ brew services start jenkins
先の例の場合、他の PC から http://192.168.1.10:8080/
で接続できる。
なお、Jenkins が起動しているかどうかは、以下のコマンドで確認可能。
#プロセスで確認する場合
$ ps aux | grep jenkins
#brewコマンドでも確認できる
$ brew services list
Jenkins の終了や再起動は以下で。
#Jenkins を終了する時
$ brew services stop jenkins
#Jenkins を再起動したい時
$ brew services restart jenkins
以上です。
##補足:JDK の確認・バージョン等を変更する場合
コマンドラインで java -version
とすることで、JDK のバージョン等を確認できる。
$ java -version
java 11.0.1 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
上記のようなバージョン表記の場合、Oracle の Java (JDK) であり、商用利用には有償ライセンス契約が必要になるので、無償&サポート期間の長い JavaAdoptOpenJDK 8 をインストールして切り替える。
$ brew tap adoptopenjdk/openjdk
$ brew cask install adoptopenjdk8
上記コマンドでインストール後、現在インストールされている Java を /usr/libexec/java_home -V
で確認する。(※ V は大文字)
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
11.0.1, x86_64: "Java SE 11.0.1" /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
1.8.0_222, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
この例の場合、Oracle の Java SE 11.0.1 と AdoptOpenJDK 8 の2つがインストールされている。
インストールした AdoptOpenJDK 8(ver. 1.8.0) に切り替えるため、~/.bash_profile
に環境変数 JAVA_HOME
を設定し、パスを通す。
(もちろん、既に ~/.bash_profile
に JAVA_HOME
や JAVA_HOMEへのパス
を通す設定があれば、該当箇所を書き換え)
$ echo 'export JAVA_HOME=`/usr/libexec/java_home -v 1.8`' >> ~/.bash_profile
$ echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bash_profile
$ source ~/.bash_profile
インストール後、コマンドラインで java -version
と打って、OpenJDK のバージョン が表示されればOK。
$ java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)