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