[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
SlideShare a Scribd company logo
GitHub Actionsで
iOSのCIを実現しよう
2019/8/28
iOS Test Night #11
なかしょ(中島進也)
Profile
• 名前:なかしょ(中島 進也)
• Twitter:@nakasho_dev
• ブログ:なかしょの技術日誌
http://nakasho-dev.hatenablog.jp/
• 最近の興味
TDD、アジャイル開発、Xamarin、Chatbot、Tizen
• 主な参加コミュニティ
JXUG、.NETラボ、Cogbot、Teratail、TestNight
XP祭り2019実行委員
※本資料は私個人の意見であり、所属企業・部門見解を代表するもの
ではありません。
2
GitHub ActionsにCI/CD機能を搭載
3
参考:https://github.blog/jp/2019-08-21-github-actions-now-supports-ci-cd/
GitHub Actions の CI/CD機能
• あらゆるOS、言語、クラウドに対応した高速なCI/CD
• マトリックスビルド
• ライブログでリアルタイムのフィードバックを表示
• コードのようにアクションとワークフローを記述して再利用
可能
• 独自のイベントも含め、あらゆるイベントでワークフローを
自動化
• 組み込みのパッケージ・コンテナレジストリとの連携
• サンプルワークフローを使って簡単に開始
• シンプルな従量課金制(OSSは無料で利用可能)
• 11月13日にGitHub Actionsの正式バージョンリリース予定
4
参考:https://github.blog/jp/2019-08-21-github-actions-now-supports-ci-cd/
GitHub Actions β版への登録
5
https://github.co.jp/features/actions
You’re in! Get started with GitHub Actions beta
6
8月21日(水)7:47
Actions のページ
7
Workflow初期状態
8
runs-on: ubuntu-latest
WFの実行環境を指定
on: [push]
何を契機に実行するかを設定
run: echo Hello, world!
Hello,world!
初期状態からの次の編集ス
テップについて説明
Start commit
WF定義をコミット
参考:https://github.com/actions/starter-workflows/blob/master/ci/blank.yml
WF定義をコミット
9
初期状態のWF定義が実行される
10
実行環境
•ubuntu-latest
•ubuntu-18.04
•ubuntu-16.04
•windows-latest
•windows-2019
•windows-2016
•macOS-latest
•macOS-10.14
11
とりあえずMacの環境で実行
• 実行環境をruns-onに変更
runs-on: macOS-latest
• Simulator環境を確認する処理を追加
 - name: show simulator list
 run: xcrun instruments -s
12
runs-on: macOS-latest
steps:
- uses: actions/checkout@v1
- name: show simulator list
run: xcrun instruments -s
Simulatorのリストを確認
13
実行環境全体のソフトウェアが知りたい
14
参考:https://help.github.com/en/articles/software-in-virtual-environments-for-github-actions#macos-1014
主要なソフトウェア
• Package Management
Bundler 2.0.2
Carthage 0.33.0
CocoaPods 1.7.5
Homebrew 2.1.9
NPM 3.10.10
Yarn 1.17.3
NuGet 4.7.0.5148
pip 19.1.1
Miniconda 4.7.10
• Project Management
Apache Maven 3.6.1
Gradle 5.5.1
• Tools
fastlane 2.128.1
App Center CLI 1.2.2
Azure-CLI 2.0.70
• Xamarin
Visual Studio for Mac 8.1.5.9
• Xcode
11_beta
10.3, 10.2.1, 10.2
10.1, 10.0
9.4.1
15
CarthageとUnitTestを実行
16
runs-on: macOS-latest
steps:
- uses: actions/checkout@v1
- - name: Carthage
run: carthage update --platform iOS
- name: xcode test
run: xcodebuild test -project SwiftAppCenterSample.xcodeproj -scheme
SwiftAppCenterSample -destination 'platform=iOS Simulator,name=iPhone
Xs,OS=12.2'
UnitTest 実行結果
17
** TEST SUCCEEDED **
Secretな変数について
18
Secretなファイルの
登録は未実装の模様
まとめ
• まずはβ版に登録しよう
• OSSであればWFの実行は制限時間なしで無料
• WFはYAMLで比較的簡単に記述ができる
• 実行環境には様々なソフトウェアが揃っている
• Secretsを活用してパスワード等を守ろう
19
ご清聴ありがとうございました。
なかしょ(中島 進也)
@nakasho_dev
20

More Related Content

GitHub ActionsでiOSのCIを実現しよう