GitLab CI の布教 for iOS
-
Upload
ikada-kaori -
Category
Engineering
-
view
1.382 -
download
1
Transcript of GitLab CI の布教 for iOS
GitLab CI の布教 for iOSpotatotips #35 2016/11/29
自己紹介
Kaori Ikada @Origami inc.モバイルアプリエンジニア
基本的に ikamon みたいなアカウントで動き回っている
たぶん、この話の対象者
GitLab 使ってる人Jenkins など自分でコードや設定保管できるCI環境でいたい人コマンドで動かしときたい、ビルド設定をGUIなものに依存されたくない人
fastlane のおかげでだいぶ助かったiOS のため Mac 環境縛りがあるけど、全リポジトリのCIを統一したいチーム
ある日Jenkinsが動かなくなったMacOS Sierra になってから、 keychain がほげほげ普段からjenkins縛りから解き放たれたかったので、他の方法
を模索
そこで GitLab CI※ Build中の様子
構成チックなもの
環境
GitLab 8.14.0gitlab-ci-multi-runner 1.7MacOS SierraXcode8.1
セットアップ
1. Gitlab で CI を有効化
2. Macマシンに MultiRunner をインストール
3. Runnerの登録
Links
Enable or disable GitLab CIInstall on MacOSSetting up GitLab CI for iOS projects
ジョブの作成
リポジトリ直下に.gitlab-ci.ymlを置く
before_script: - echo "Start gitlab ci runner" - #DeploygateのAPIKeyなどはマシン上に設定 - . ~/.bashrc_runner - bundle install
ios-master: stage: archive script: - #実行コマンド - bundle exec fastlane dg only: - #ブランチを指定 - master tags: - #タグ指定で走らせるRunnerを選べる - #マシン名つけとく運用にしてみた - jenkins.local
Runnerが走るマシンの設定~/.gitlab-runner/config.tomlマシンに登録されたrunnerの設定も入ってる実際にいじった設定の紹介
check_interval : multi-runner マシンが gitlab-ci にチェックしに行く頻度(単位:秒)
outpu_limit : 吐くログの量が制限されている。デフォル
トで4096(4MB) pre_build_script : gitレポジトリからクローンされる前
に実行させたいスクリプトを指定できる
その他設定: advanced-configuration
Build 失敗例git clone が失敗する、時間がかかる場合
予め job の該当箇所に ローカルコピーしておく
pre_build_script で git 環境変数設定想定していた runner とは別の runner が動いていた
Shared な runner が実行されていた → Disable に個人のマシンで試しに追加した runner が走ってしまう →Tagを利用する
Sierra で動かなかった待つ。milestoneの期限通りに対応バージョンが出た
正しく設定されていても Code Signing でビルド失敗するAdHocビルド以外のBuildConfigもエラーが出てない状態
にしておく
Jenkins からの卒業?
今後やっていきたいこと
LaunchDaemon で実行させときたいこういうかっこいいのやりたい
We are hiring!多分採用されると思うから応募しようぜ
https://www.wantedly.com/companies/origami/projects