Jenkins について - ArtefactGitHub/I_T_iOSPractice GitHub Wiki

◆ 導入経緯

Jenkins から fastlane を実行することで、作業の分散化を図る。

◆ 環境構築

https://qiita.com/eightbeat/items/4b85be7d26f53dc54a9e https://qiita.com/snumano/items/9db59992b44ab64fec82 http://www.project-unknown.jp/entry/jenkins01

Homebrew を入れる

Java 8 を入れる

jenkins: Java 1.8 is required to install this formula.JavaRequirement unsatisfied!

と出るので、続きに記載の下記コマンドを実行し、java8 を入れる。

brew cask install caskroom/versions/java8

起動設定

To have launchd start jenkins now and restart at login:
  brew services start jenkins
Or, if you don't want/need a background service you can just run:
  jenkins

# 自動起動の設定
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
# 自動起動の解除
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
# 手動起動
$ jenkins

Jenkinsのロックを解除する

2018-04-01 20 31 17 安全にセットアップされるようにするためローカルに自動保存されたパスワードの入力を求められる。

リポジトリがクローンされる場所

/Users/XXXXXXXX/.jenkins/workspace

 

◆ シェルスクリプト実行と、環境変数の設定

「ビルド」のシェルスクリプト例

# ===========================
# 環境変数の設定
# ===========================
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

export DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV"
export SLACK_URL="https://hooks.slack.com/services/XXXXXXXX"
export USER_NAME="[email protected]"
export APP_IDENTIFIER="com.XXXX.XXXX"
export PLIST_FILE_PATH="./XXXX/Info.plist"
export SOLUTION_FILE_PATH="./XXXX.sln"

export XCODE_PROJECT_PATH="XXXX/"
export XCODE_BUILD_OUTPUT_PATH="XXXX/"
export XCODE_PROJECT_NAME="XXXX.xcodeproj"
export XCODE_WORKSPACE_NAME="XXXX.xcworkspace"

# ===========================
# Fastlane
# ===========================
# RubyGems のインストール
bundle install --path=vendor/bundle

# fastlane のアップデート
bundle update fastlane

# リンクする静的ライブラリのビルドレーン
bundle exec fastlane BuildLib

# ipa 作成用のビルドレーン
bundle exec fastlane devAdHoc

上記のようにCIで設定せず、「.env.default」ファイルで設定する方法もある。
(.envファイルは Git の監視から除外する)
https://docs.fastlane.tools/best-practices/keys/#dotenv