CircleCIでiOSプロジェクトのビルドをしていたけど、ビルド回数が多くなってプランの中に収まらくなってきたので自前でJenkins立てた時の話。
今回の要件
- 既に別の用途で利用しているマシンにJenkinsを同居させること
- ↑につき別ユーザーでログインしつつ、JenkinsでiPhoneシミュレーターが起動してテストが実行できる事
公式サイトからdmgをDLしてきてインストールする方法もあるのですが、これだと以下の問題があって今回の要件とマッチしませんでした。
- JenkinsプロセスがデーモンになってしまってiPhoneシミュレーターが起動できない
- Jenkinsがjenkinsユーザーのディレクトリ以下にインストールされるので
- 常時ログインしていないとiPhoneシミュレーターが起動できない
- いつも使っているユーザーと別ユーザーになるのでbrewなどのパーミッションの変更が必要
色々調べたところ、brew経由でJenkinsをインストールすると、既存ユーザーの権限でJenkinsを動かすことができるので今回はこちらを採用しました。
インストール
brew install jenkins
起動/停止
launchctlのラッパーであるbrew servicesを利用しているので以下のコマンドで起動・停止できます
brew services start jenkins
brew services stop jenkins
Jenkins本体の場所はこちら(Jobの設定ファイルや、workspaceなども)
/Users/{ユーザー名}/.jenkins
起動オプションの設定ファイルはこちら
/usr/local/Cellar/jenkins/{Jenkinsバージョン}/homebrew.mxcl.jenkins.plist
注意点
- 標準の起動オプションだとlocalhostからのアクセスしか受け付けない設定となっているので、外部からJenkinsにアクセスしたい場合は起動オプションの設定ファイルのhttplistenAddressを0.0.0.0に書き換えましょう。(ドキュメント)