🍏

ミニマルなサンプルで理解!XCodeのプロジェクトをTravis CIでビルドテストする方法

2021/07/09に公開

必要最低限 の要素/手順で動かしてみたい!という方に。参考になれば🤗

1. XCodeプロジェクトを作る。

"TravisTest"という名前のプロジェクトを作成。

2. .travis.ymlファイルをプロジェクトに追加する。

.travis.ymlファイルは、Travis CI で使う設定を書いておくファイル。
以下のようにNew Fileから

Emptyを選んで

名前を".travis.yml"としてCreateする。
その際、以下のように注意書きが出るが、

そのままUse "." を選ぶ。
すると以下のような状態になる。

3. .travis.ymlの中身を書く。

参考までに、Swfitで書かれたProjectの際参照するべき公式ドキュメントを置いておく。
https://docs.travis-ci.com/user/languages/objective-c/

...が、ミニマルにやるなら以下の5行を .travis.yml に記述するだけでOK🤗

.travis.yml
language: objective-c #projectで使用している言語
osx_image: xcode12.4 #projectで使用しているXCodeのバージョン
xcode_project: TravisTest.xcodeproj #project名
xcode_scheme: TravisTest #何もいじってなければproject名と一緒
xcode_destination: platform=iOS Simulator,OS=14.4,name=iPad (8th generation) #ビルドテストを走らせたいシミュレータを指定

1行目について。

なぜプロジェクトで使用している言語はSwiftなのに、language:はobjective-cでいいのかというと、公式に以下の説明がある。

Right now, language: swift is just an alias for language: objective-c. Said another way, we don’t have native support for Swift projects at this time. Swift builds are just routed to our macOS image, the same as Objective-C builds.

雑訳すると、「swiftって書こうがobjective-cって書こうが一緒だから!!」とのこと👀

2行目について。

今回はXcode 12.4を使って作ったプロジェクトなのでそのバージョンを書いた。
このosx_image:を書かないと、ビルドに使われる MacOSとXcodeのバージョンは、
デフォルトで macOS 10.13 / Xcode 9.4.1 になるらしい。ちょっと古い👀

5行目について。

今回はXCode 12.4を指定しているが、XCodeのバージョンによって使えるシミュレータのOSや機種が異なる。
Xcode 12.4で扱えるシミュレータのiOSのバージョンは以下に書いてある。
https://docs.travis-ci.com/user/reference/osx/#xcode-124
デフォルトの設定(Xcode 9.4.1)だと、iOS14のsimulatorは動かない。

4. Travis CI とGitHubのリポジトリを連携させる。

4-1. GitHubのリポジトリを作る。

今作ったプロジェクトをGithub上に置く。
リポジトリがPublicでないと課金が発生しうるので注意⚠️⚠️

4-2. Travis CI にログインする。

緑色のSign up ボタンを押す。

すると以下のような画面に遷移するので、

一番上の"SIGN UP WITH GITHUB"を選ぶ。
登録できたら、あとは画面の説明に従うのみ。

5.完成!

4-1.で作成したリポジトリにコードをプッシュするだけでビルドテストが走るようになる。
ビルドテストが成功すると、以下のような感じで緑色中心の画面が表示される。

おわりに

今回作ったリポジトリを以下に貼っておく。
https://github.com/Pikichan/TravisTest

おしまい🤗

Discussion