SlideShare une entreprise Scribd logo
1  sur  10
Copyright © DeNA Co.,Ltd. All Rights Reserved.
AKIBA.swift 第10回
2017/01/31 (Tue)
平田敏之@DeNA
Xcodeの管理を楽に
– Jenkins編 -
Copyright © DeNA Co.,Ltd. All Rights Reserved.
自己紹介
 平田 敏之@DeNA
⁃ 経歴
• GWの開発 → ホムペサービスの開発、iOSアプリの開発 → SWET
⁃ SWET (Software Engineer in Test)
• 事業サポートチーム / テスト基盤チーム
• ミッション
⁃ DeNAサービス全般の品質向上
⁃ DeNAエンジニアの開発生産性向上
⁃ 私がやっていること(の一部)
• クライアントアプリ周りのテスト戦略、自動テストの開発
• CI/CD環境整備
• テスト基盤環境の開発
• iOS Test Night主催(#3は2017/3/13(月)開催)
Copyright © DeNA Co.,Ltd. All Rights Reserved.
はじめに
 バージョン管理でツラミを経験していませんか?
 そのツラミを軽減するためのサービスについて以下で発表
⁃ iOS Test Night #2
• 「バージョンアップの対応を軽減するためのサービスの構築」
• 自分たちでコントールしづらい箇所の管理を以下に軽減するか
• 発表資料:http://www.slideshare.net/tarappo/ss-71179542
 Xcodeの管理は特に大変
⁃ そこで今回は「Xcodeの管理編」
• (iOS Test Night#2の発表時には間に合わなかった話)
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Xcodeのバージョンの管理のツラミ
Xcodeで苦労した経験がない人はいますか?
 1) Xcodeは複数バージョン保持していないといけない
⁃ 特にβリリースの時期は…
• ローカル環境だとxcode-installで管理している人もいるのでは
• https://github.com/KrauseFx/xcode-install
 2) Xcodeのバージョンアップで(よく)あること
⁃ ビルドが通らない
• 関連するライブラリも当然ながら
⁃ 設定が増えている
• 設定しておかないとビルドが..
⁃ サポートが打ち切られた
• この新バージョンから◯◯が使えなくなった
⁃ 例) Swift2.3…
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Xcodeのバージョンの管理における対応
 1) Xcodeの複数バージョン管理
⁃ 管理方法はKyobashi.swift #2で発表
• 発表資料 http://www.slideshare.net/tarappo/iosci
⁃ 上記をさらに改良したJenkinsプラグインをそろそろ公開
• 「Application Detector Plugin」
 2) Xcodeの新バージョンが出たら自動で(軽く)動作確認
⁃ 1)のJenkinsプラグインとAnsibleを併用し動作確認
⁃ 動作結果次第で調査をするしないを決める
Copyright © DeNA Co.,Ltd. All Rights Reserved.
1) Xcodeの複数バージョン管理(Jenkinsプラグイン)
 自身でアプリ周りの定義をすることが可能
⁃ 従ってXcode以外も対応可能でありUnityなどでも使える
 ビルド時に利用するバージョンを選択可能
⁃ 指定したバージョンがインストールされているJenkins(slave)で動作する
設定画面
ビルドパラメータ
固定化する場合
Copyright © DeNA Co.,Ltd. All Rights Reserved.
1) Xcodeのインストール方法
 Jenkinsの構成管理はAnsibileを利用
⁃ Jenkins jobを使ってJenkins自らにセットアップさせている
• iOSの場合は(主に)以下 / Androidなどのセットアップもやっています
⁃ Xcodeのインストール
• 複数指定可能
⁃ certificateファイルのimport
⁃ Provisioning Profileの設置
• 複数Developer対応
Jenkinsのslaveであれば複数マシン一気にセットアップ可能
Copyright © DeNA Co.,Ltd. All Rights Reserved.
2) バージョンアップ動作確認用システム(Xcodeの場合の挙動)
Xcodenのインストール
(Ansible)
バージョンチェック
システム
1日1回チェック
CocoaPods
Gem
Xcode
Rundeck
4) 動作確認結果を通知
1) 新バージョン通知
サンプルアプリ
(swift3)
2) Xcodeのインストー
ル
3) 動作確認
エラーが出たら調査
Copyright © DeNA Co.,Ltd. All Rights Reserved.
サンプルアプリでやっている動作確認の内容
 サンプルアプリとは?
⁃ 以下の目的で作られたアプリ(Swift3対応済)
• 各ライブラリの動作チェック用
• テスティングフレームワークのテスト用
 やっていること
⁃ バージョンアップしたライブラリに応じてやることが決まる
• ライブラリとおこなうべきアクション(fastlaneのlane)の定義書がある
⁃ Xcodeの場合は以下をおこなう
• アプリのビルド
• UI自動テスト
⁃ EarlGrey
⁃ XCUITest
Copyright © DeNA Co.,Ltd. All Rights Reserved.
最後に
 自動化できそうなことは自動化してやるべきことに注力しましょう
⁃ [注意]
• 費用対効果があるので何でも自動化すればいいわけではない
⁃ 自動化のために使えるツールで公開できるものはどんどん公開して
いきますので是非ご利用ください
 まずは、
⁃ Xcode複数バージョン管理用のJenkinsプラグイン
• 公開予定なので是非ご利用ください

Contenu connexe

Tendances

バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフバージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフToshiyuki Hirata
 
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめようiOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめようToshiyuki Hirata
 
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情Toshiyuki Hirata
 
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Shunsuke Maeda
 
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることKazuaki KURIU
 
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介Shunsuke Maeda
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Toshiyuki Hirata
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすShunsuke Maeda
 
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたfastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたToshiyuki Hirata
 
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進めるiOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進めるShunsuke Maeda
 
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割DeNAにおけるSWETの役割
DeNAにおけるSWETの役割Toshiyuki Hirata
 
Android e2e testing at mercari
Android e2e testing at mercariAndroid e2e testing at mercari
Android e2e testing at mercariVishal Banthia
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x AndroidToshiyuki Hirata
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -Toshiyuki Hirata
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションmirer
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestMasaki Nakagawa
 
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜gree_tech
 
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話司 知花
 
5minQues - SWET近況報告
5minQues - SWET近況報告5minQues - SWET近況報告
5minQues - SWET近況報告Masaki Nakagawa
 

Tendances (20)

バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフバージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
 
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめようiOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
 
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
 
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
 
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
 
DroidKaigi_devicefarm
DroidKaigi_devicefarmDroidKaigi_devicefarm
DroidKaigi_devicefarm
 
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみたfastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
 
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進めるiOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進める
 
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
 
Android e2e testing at mercari
Android e2e testing at mercariAndroid e2e testing at mercari
Android e2e testing at mercari
 
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Androidコードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッションJaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
 
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
アナザーエデンPC版リリースへの道のり 〜WFSにおけるマルチプラットフォーム対応の取り組み〜
 
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
 
5minQues - SWET近況報告
5minQues - SWET近況報告5minQues - SWET近況報告
5minQues - SWET近況報告
 

En vedette

Unowned / Weak References with Closure
Unowned / Weak References with ClosureUnowned / Weak References with Closure
Unowned / Weak References with ClosureNaruki Chigira
 
AWS Startup Tech - 宇宙と雲の間に CTO安川
AWS Startup Tech - 宇宙と雲の間に CTO安川AWS Startup Tech - 宇宙と雲の間に CTO安川
AWS Startup Tech - 宇宙と雲の間に CTO安川SORACOM,INC
 
JAWS UG TOHOKU 秋田支部 | IoT 通信プラットフォーム SORACOM 仕組みとサービス& IoT 最新事例
JAWS UG TOHOKU 秋田支部 | IoT 通信プラットフォーム SORACOM 仕組みとサービス& IoT 最新事例JAWS UG TOHOKU 秋田支部 | IoT 通信プラットフォーム SORACOM 仕組みとサービス& IoT 最新事例
JAWS UG TOHOKU 秋田支部 | IoT 通信プラットフォーム SORACOM 仕組みとサービス& IoT 最新事例SORACOM,INC
 
最強のセキュリティでIoTを実装する方法
最強のセキュリティでIoTを実装する方法最強のセキュリティでIoTを実装する方法
最強のセキュリティでIoTを実装する方法Shinji Saito
 
Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門yoichi kikuta
 
日経ITpro EXPO2015 ソラコム特別講演: IoTのキャズムを超える by CEO玉川
日経ITpro EXPO2015 ソラコム特別講演: IoTのキャズムを超える by CEO玉川 日経ITpro EXPO2015 ソラコム特別講演: IoTのキャズムを超える by CEO玉川
日経ITpro EXPO2015 ソラコム特別講演: IoTのキャズムを超える by CEO玉川 SORACOM,INC
 
SORACOM Dev Conf #0: 新機能発表!
SORACOM Dev Conf #0: 新機能発表!SORACOM Dev Conf #0: 新機能発表!
SORACOM Dev Conf #0: 新機能発表!SORACOM,INC
 

En vedette (7)

Unowned / Weak References with Closure
Unowned / Weak References with ClosureUnowned / Weak References with Closure
Unowned / Weak References with Closure
 
AWS Startup Tech - 宇宙と雲の間に CTO安川
AWS Startup Tech - 宇宙と雲の間に CTO安川AWS Startup Tech - 宇宙と雲の間に CTO安川
AWS Startup Tech - 宇宙と雲の間に CTO安川
 
JAWS UG TOHOKU 秋田支部 | IoT 通信プラットフォーム SORACOM 仕組みとサービス& IoT 最新事例
JAWS UG TOHOKU 秋田支部 | IoT 通信プラットフォーム SORACOM 仕組みとサービス& IoT 最新事例JAWS UG TOHOKU 秋田支部 | IoT 通信プラットフォーム SORACOM 仕組みとサービス& IoT 最新事例
JAWS UG TOHOKU 秋田支部 | IoT 通信プラットフォーム SORACOM 仕組みとサービス& IoT 最新事例
 
最強のセキュリティでIoTを実装する方法
最強のセキュリティでIoTを実装する方法最強のセキュリティでIoTを実装する方法
最強のセキュリティでIoTを実装する方法
 
Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門Windows Azureを利用したDevOps入門
Windows Azureを利用したDevOps入門
 
日経ITpro EXPO2015 ソラコム特別講演: IoTのキャズムを超える by CEO玉川
日経ITpro EXPO2015 ソラコム特別講演: IoTのキャズムを超える by CEO玉川 日経ITpro EXPO2015 ソラコム特別講演: IoTのキャズムを超える by CEO玉川
日経ITpro EXPO2015 ソラコム特別講演: IoTのキャズムを超える by CEO玉川
 
SORACOM Dev Conf #0: 新機能発表!
SORACOM Dev Conf #0: 新機能発表!SORACOM Dev Conf #0: 新機能発表!
SORACOM Dev Conf #0: 新機能発表!
 

Similaire à Xcodeの管理を楽に - Jenkins編 -

【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo 【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo 智治 長沢
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~Yuki Ando
 
Open STF Plugin 作ってみた
Open STF Plugin 作ってみたOpen STF Plugin 作ってみた
Open STF Plugin 作ってみたjustice_sm
 
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconDeNA
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストToshiyuki Hirata
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック智治 長沢
 
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...智治 長沢
 
ヒーロー島 Visual Studio 2012
ヒーロー島 Visual Studio 2012ヒーロー島 Visual Studio 2012
ヒーロー島 Visual Studio 2012智治 長沢
 
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 智治 長沢
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2Yushi_Takagi
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadogtyamane
 
QualityとDeliveryを両立させるために僕らがやったこと
QualityとDeliveryを両立させるために僕らがやったことQualityとDeliveryを両立させるために僕らがやったこと
QualityとDeliveryを両立させるために僕らがやったことTakeshi Sekiguchi
 
【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース...
【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース...【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース...
【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース...智治 長沢
 
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景Koichi ITO
 
Trac Plugin Developement with Jenkins
Trac Plugin Developement with JenkinsTrac Plugin Developement with Jenkins
Trac Plugin Developement with JenkinsTakahisa Wada
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーションYuta Matsumura
 
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage PlatformMasaki Nakagawa
 
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOpsJAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps智治 長沢
 

Similaire à Xcodeの管理を楽に - Jenkins編 - (20)

【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo 【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
Open STF Plugin 作ってみた
Open STF Plugin 作ってみたOpen STF Plugin 作ってみた
Open STF Plugin 作ってみた
 
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechconMobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
 
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
 
ヒーロー島 Visual Studio 2012
ヒーロー島 Visual Studio 2012ヒーロー島 Visual Studio 2012
ヒーロー島 Visual Studio 2012
 
楽天エンジニアライフ
楽天エンジニアライフ楽天エンジニアライフ
楽天エンジニアライフ
 
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】 Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
 
devsami kansai 2012 #c2
devsami kansai 2012 #c2devsami kansai 2012 #c2
devsami kansai 2012 #c2
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadog
 
QualityとDeliveryを両立させるために僕らがやったこと
QualityとDeliveryを両立させるために僕らがやったことQualityとDeliveryを両立させるために僕らがやったこと
QualityとDeliveryを両立させるために僕らがやったこと
 
【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース...
【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース...【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース...
【ソフトウェアプロジェクトにおけるツールの活用を考える会】 ソフトウェア開発におけるツール活用 - Team Foundation Server をベース...
 
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
 
Trac Plugin Developement with Jenkins
Trac Plugin Developement with JenkinsTrac Plugin Developement with Jenkins
Trac Plugin Developement with Jenkins
 
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
 
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
 
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOpsJAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
 

Plus de Toshiyuki Hirata

iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測Toshiyuki Hirata
 
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測Toshiyuki Hirata
 
iOSにおける自動テストの並列化
iOSにおける自動テストの並列化iOSにおける自動テストの並列化
iOSにおける自動テストの並列化Toshiyuki Hirata
 
UIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめるUIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめるToshiyuki Hirata
 
UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法Toshiyuki Hirata
 
我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有Toshiyuki Hirata
 
レビューのコストを削減するための施策
レビューのコストを削減するための施策レビューのコストを削減するための施策
レビューのコストを削減するための施策Toshiyuki Hirata
 

Plus de Toshiyuki Hirata (7)

iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
 
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
 
iOSにおける自動テストの並列化
iOSにおける自動テストの並列化iOSにおける自動テストの並列化
iOSにおける自動テストの並列化
 
UIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめるUIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめる
 
UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法
 
我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有
 
レビューのコストを削減するための施策
レビューのコストを削減するための施策レビューのコストを削減するための施策
レビューのコストを削減するための施策
 

Dernier

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Dernier (9)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

Xcodeの管理を楽に - Jenkins編 -

  • 1. Copyright © DeNA Co.,Ltd. All Rights Reserved. AKIBA.swift 第10回 2017/01/31 (Tue) 平田敏之@DeNA Xcodeの管理を楽に – Jenkins編 -
  • 2. Copyright © DeNA Co.,Ltd. All Rights Reserved. 自己紹介  平田 敏之@DeNA ⁃ 経歴 • GWの開発 → ホムペサービスの開発、iOSアプリの開発 → SWET ⁃ SWET (Software Engineer in Test) • 事業サポートチーム / テスト基盤チーム • ミッション ⁃ DeNAサービス全般の品質向上 ⁃ DeNAエンジニアの開発生産性向上 ⁃ 私がやっていること(の一部) • クライアントアプリ周りのテスト戦略、自動テストの開発 • CI/CD環境整備 • テスト基盤環境の開発 • iOS Test Night主催(#3は2017/3/13(月)開催)
  • 3. Copyright © DeNA Co.,Ltd. All Rights Reserved. はじめに  バージョン管理でツラミを経験していませんか?  そのツラミを軽減するためのサービスについて以下で発表 ⁃ iOS Test Night #2 • 「バージョンアップの対応を軽減するためのサービスの構築」 • 自分たちでコントールしづらい箇所の管理を以下に軽減するか • 発表資料:http://www.slideshare.net/tarappo/ss-71179542  Xcodeの管理は特に大変 ⁃ そこで今回は「Xcodeの管理編」 • (iOS Test Night#2の発表時には間に合わなかった話)
  • 4. Copyright © DeNA Co.,Ltd. All Rights Reserved. Xcodeのバージョンの管理のツラミ Xcodeで苦労した経験がない人はいますか?  1) Xcodeは複数バージョン保持していないといけない ⁃ 特にβリリースの時期は… • ローカル環境だとxcode-installで管理している人もいるのでは • https://github.com/KrauseFx/xcode-install  2) Xcodeのバージョンアップで(よく)あること ⁃ ビルドが通らない • 関連するライブラリも当然ながら ⁃ 設定が増えている • 設定しておかないとビルドが.. ⁃ サポートが打ち切られた • この新バージョンから◯◯が使えなくなった ⁃ 例) Swift2.3…
  • 5. Copyright © DeNA Co.,Ltd. All Rights Reserved. Xcodeのバージョンの管理における対応  1) Xcodeの複数バージョン管理 ⁃ 管理方法はKyobashi.swift #2で発表 • 発表資料 http://www.slideshare.net/tarappo/iosci ⁃ 上記をさらに改良したJenkinsプラグインをそろそろ公開 • 「Application Detector Plugin」  2) Xcodeの新バージョンが出たら自動で(軽く)動作確認 ⁃ 1)のJenkinsプラグインとAnsibleを併用し動作確認 ⁃ 動作結果次第で調査をするしないを決める
  • 6. Copyright © DeNA Co.,Ltd. All Rights Reserved. 1) Xcodeの複数バージョン管理(Jenkinsプラグイン)  自身でアプリ周りの定義をすることが可能 ⁃ 従ってXcode以外も対応可能でありUnityなどでも使える  ビルド時に利用するバージョンを選択可能 ⁃ 指定したバージョンがインストールされているJenkins(slave)で動作する 設定画面 ビルドパラメータ 固定化する場合
  • 7. Copyright © DeNA Co.,Ltd. All Rights Reserved. 1) Xcodeのインストール方法  Jenkinsの構成管理はAnsibileを利用 ⁃ Jenkins jobを使ってJenkins自らにセットアップさせている • iOSの場合は(主に)以下 / Androidなどのセットアップもやっています ⁃ Xcodeのインストール • 複数指定可能 ⁃ certificateファイルのimport ⁃ Provisioning Profileの設置 • 複数Developer対応 Jenkinsのslaveであれば複数マシン一気にセットアップ可能
  • 8. Copyright © DeNA Co.,Ltd. All Rights Reserved. 2) バージョンアップ動作確認用システム(Xcodeの場合の挙動) Xcodenのインストール (Ansible) バージョンチェック システム 1日1回チェック CocoaPods Gem Xcode Rundeck 4) 動作確認結果を通知 1) 新バージョン通知 サンプルアプリ (swift3) 2) Xcodeのインストー ル 3) 動作確認 エラーが出たら調査
  • 9. Copyright © DeNA Co.,Ltd. All Rights Reserved. サンプルアプリでやっている動作確認の内容  サンプルアプリとは? ⁃ 以下の目的で作られたアプリ(Swift3対応済) • 各ライブラリの動作チェック用 • テスティングフレームワークのテスト用  やっていること ⁃ バージョンアップしたライブラリに応じてやることが決まる • ライブラリとおこなうべきアクション(fastlaneのlane)の定義書がある ⁃ Xcodeの場合は以下をおこなう • アプリのビルド • UI自動テスト ⁃ EarlGrey ⁃ XCUITest
  • 10. Copyright © DeNA Co.,Ltd. All Rights Reserved. 最後に  自動化できそうなことは自動化してやるべきことに注力しましょう ⁃ [注意] • 費用対効果があるので何でも自動化すればいいわけではない ⁃ 自動化のために使えるツールで公開できるものはどんどん公開して いきますので是非ご利用ください  まずは、 ⁃ Xcode複数バージョン管理用のJenkinsプラグイン • 公開予定なので是非ご利用ください