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のロックを解除する
安全にセットアップされるようにするためローカルに自動保存されたパスワードの入力を求められる。
リポジトリがクローンされる場所
/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