Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Azure Pipeline
Search
giginet
PRO
April 16, 2019
Programming
0
1.7k
Azure Pipeline
giginet
PRO
April 16, 2019
Tweet
Share
More Decks by giginet
See All by giginet
Introduction for Open Source Swift Workshop
giginet
PRO
0
1.2k
Swift Packageを使った 巨大な依存グラフのキャッシュ戦略
giginet
PRO
5
4.1k
Deep Dive into Mergeable Library
giginet
PRO
1
1.4k
Go beyond the Actor Boundary ~ Swift 6へのConcurrency対応 ~
giginet
PRO
1
3k
新しいビルドツールScipioのご紹介
giginet
PRO
3
940
ポケモンで学ぶiOS 16弾丸ツアー 🚅
giginet
PRO
1
860
Standardizing build system using modern Swift Packages in LINE
giginet
PRO
1
470
OSS Forward Workshop
giginet
PRO
3
1.3k
Crossroad - 最高のCustom URL Schemeルーティングを支える技術2021
giginet
PRO
4
570
Other Decks in Programming
See All in Programming
TypeScriptのパフォーマンス改善
yajihum
8
3.2k
大規模UIKitベースアプリへのTCAの段階的導入/gradual-adoption-of-tca-in-a-large-scale-uikit-based-app
takehilo
2
220
Domain-Driven Transformation
hschwentner
2
1.5k
slow types ってなんだろう?
karad
0
190
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
930
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
6
1.3k
Apache Hive 4 on Treasure Data
ryukobayashi
1
460
Exploring Type-Informed Lint Rules in Rust based Linters
unvalley
2
280
Inner Source@DB: Eine Geschichte über Open-Source-Praktiken im DB Konzern
morl99
1
100
JavaScript Closure
asoluka
0
1.6k
ペパボOpenTelemetry革命
pyama86
2
190
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
350
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
75
5.2k
Optimizing for Happiness
mojombo
370
69k
Documentation Writing (for coders)
carmenintech
60
4k
Unsuck your backbone
ammeep
664
57k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
Designing with Data
zakiwarfel
96
4.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Web Components: a chance to create the future
zenorocha
306
41k
Transcript
Azure Pipelines for iOS @giginet iOS Test Nights #10 1
୭ • @giginet • ΫοΫύου ϞόΠϧج൫ • Core Contributor of
Carthage / fastlane 2
ࠓ͢͜ͱ • Azure PipelinesͬͯΈͨ • ओʹOSS༻్ 3
Azure Pipelinesͱ • Microso(͕ఏڙ͢ΔCI as a service • ڈͷळ͙Β͍ʹ࢝·ͬͨ •
h0ps:/ /azure.microso(.com/ja-jp/services/devops/pipelines/ 4
5
ಛ • GUIͰઃఆՄೳ • ͔ͳΓແྉͰ͑Δ • OSS࣌ؒແ੍ݶͰ10ฒྻɻ࣮࣭ແྉ • Ϋϩʔζυ1ฒྻͷΈͰ݄1800 •
๛ͳλεΫ • Market Place • macOS/Linux/Windowsͷίϯςφ͕͑Δ • ηϧϑϗεςΟϯά͕Մೳ 6
7
Demo 8
9
10
11
• ઃఆϑΝΠϧYAMLͰఆٛՄೳ • azure-pipelines.yml pool: vmImage: 'macOS 10.13' steps: -
task: Xcode@5 inputs: scheme: '' sdk: 'iphoneos' configuration: 'Release' xcodeVersion: 'default' 12
• δϣϒఆ͔ٛΒYAMLΛੜͰ͖Δ 13
ͦͷଞiOS͚ͷTask • Install Provisioning Profile / Cer3ficates • App Store
• αϒϛοτ • TestFlight • Test with App Center 14
Install Provisioning Profile / Cer2ficates • Provisioning Profileূ໌ॻΛΞοϓϩʔυͯ͠ΠϯετʔϧͰ ͖Δ •
Developer Center͔Βऔ͖ͬͯͨΓɺࣗಈͰߋ৽ͨ͠Γͯ͠ ͘Εͳ͍ • ͦ͜·ͰΔʹfastlaneΛ͏ 15
App Store • App Storeͷαϒϛοτ͕ߦ͑Δ • ෦తʹfastlaneୟ͍ͯΔ • ҰԠΦʔϓϯιʔε h0ps:/
/github.com/Microso;/app-store-vsts- extension/tree/master/Tasks/app-store-release • ݱঢ়Ͱ͖Δ͜ͱ͕ݶఆత͗ͯ͢ݫ͍͠…… • ·ͱʹ͏ͷ͍͠ͷͰɻfastlaneͬͨํ͕ྑ͍ 16
17
UI Test • Visual Studio App CenterΛͬͨUIςετ͕Մೳ • XCUITest/Appium/EarlgreyͳͲ •
ͪΌΜͱͬͯͳ͍ͷͰෆ໌ 18
Swi$PM • 1ͭͷδϣϒͰmacOS/Linux͕͑Δ • →ΫϩεϓϥοτϑΥʔϜͳSwi0ϥΠϒϥϦʹ͑Δ͔ʁ • Swi0PMͰఏڙ͍ͯ͠ΔϥΠϒϥϦͷϏϧυʹͬͯΈͨ 19
Swi$PM • Swi% ToolchainΛѻ͏Task͕Ұແ͍ • swi%envToolchainͷΠϯετʔϧΛશͯࣗલͰΔඞཁ͕ ͋Δ • ͜ͷ༻్Ͱݱঢ়Travis CIͷํ͕ྑ͍
20
jobs: - job: macOS pool: vmImage: 'macOS-10.13' steps: - script:
| export SWIFT_VERSION=4.2.4 # Install swiftenv eval "$(curl -sL \ https://gist.githubusercontent.com/kylef/ \ 5c0475ff02b7c7671d2a/raw/9f442512a46d7a2af7b850d65a7e9bd31edfb09b/\ swiftenv-install.sh)" swift build 21
Pros • ୯७ʹXcodeͰϏϧυ͢ΔϓϩδΣΫτ • xcodebuild ΛࣗͰୟ͔ͳͯ͘ྑ͍ • খ͞ͳϓϥΠϕʔτϓϩδΣΫτ͖ • ϥΠϒϥϦʹΞϓϦʹ͑Δ
22
Pros • δϣϒఆٛͷॊೈ͞ • GUIͰઃఆͰ͖ͯࢼߦࡨޡ͍͢͠ • ઃఆཤྺΔ • YAMLͰѻ͏͜ͱͰ͖Δ •
GUI͔ΒYAML͕ు͚Δ 23
Cons • ܕʹϋϚͬͯͳ͍ϓϩδΣΫτʹෆ͖ • ྫ͑Swi%PMͰ͢ΔϥΠϒϥϦͳͲ • ΩϟογϡͷΈ͕ශऑ • ύοέʔδΠϯετʔϧͳͲ͕ඞཁͳϓϩδΣΫτʹෆ͖ •
ڥߏங͕DockerΛ͏͜ͱલఏͱͳ͍ͬͯΔͨΊɺmacOS ͩͱ͍͠ 24
Cons • azure-pipelines.yml͕͍͠ • ֤λεΫͷΦϓγϣϯͳͲΛѲ͠ͳ͍ͱ͍͚ͳ͍ͷͰGUI ͰΔ͔ɺશ෦γΣϧεΫϦϓτͰͬͨํ͕ྑ͍ҹ…… • ༗ྉϓϥϯߴ͍ؾ͕͢Δ • େ͖ͳΞϓϦBitriseΛͬͨํ͕ྑ͍ͷͰ……
25
·ͱΊ • ϓϥΠϕʔτϦϙδτϦ࣮࣭ແྉͰྑ͍ • ܕʹϋϚͬͨ͜ͱΓͦ͢͏ • Taskʹ͋Δ͜ͱΛ͢Δʹָ͕ͩɺͪΐͬͱ֎Εͨ͜ͱΛ͠Α͏ͱ͢Δͱ్ʹ ͍͠ • ৄ͍͠ਓTravis
CIͷํ͕Ή͠Ζָ • iOSͷCD༻్ʹ·ͩ·ͩΩπͦ͏ • App Store extensionͰͰ͖Δ͜ͱ͕ݶఆత 26
ࢀߟࢿྉ • h#ps:/ /docs.microso/.com/en-us/azure/devops/pipelines/ languages/xcode?view=azure-devops • h#ps:/ /github.com/Microso/Docs/pipelines-xcode 27
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 28