Slide 1

Slide 1 text

Azure Pipelines for iOS @giginet iOS Test Nights #10 1

Slide 2

Slide 2 text

୭ • @giginet • ΫοΫύου ϞόΠϧج൫ • Core Contributor of Carthage / fastlane 2

Slide 3

Slide 3 text

ࠓ೔࿩͢͜ͱ • Azure Pipelines࢖ͬͯΈͨ࿩ • ओʹOSS༻్ 3

Slide 4

Slide 4 text

Azure Pipelinesͱ͸ • Microso(͕ఏڙ͢ΔCI as a service • ڈ೥ͷळ͙Β͍ʹ࢝·ͬͨ • h0ps:/ /azure.microso(.com/ja-jp/services/devops/pipelines/ 4

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

ಛ௃ • GUIͰઃఆՄೳ • ͔ͳΓແྉͰ࢖͑Δ • OSS͸࣌ؒແ੍ݶͰ10ฒྻɻ࣮࣭ແྉ • Ϋϩʔζυ͸1ฒྻͷΈͰ݄1800෼ • ๛෋ͳλεΫ • Market Place • macOS/Linux/Windowsͷίϯςφ͕࢖͑Δ • ηϧϑϗεςΟϯά͕Մೳ 6

Slide 7

Slide 7 text

7

Slide 8

Slide 8 text

Demo 8

Slide 9

Slide 9 text

9

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

11

Slide 12

Slide 12 text

• ઃఆϑΝΠϧ͸YAMLͰ΋ఆٛՄೳ • azure-pipelines.yml pool: vmImage: 'macOS 10.13' steps: - task: Xcode@5 inputs: scheme: '' sdk: 'iphoneos' configuration: 'Release' xcodeVersion: 'default' 12

Slide 13

Slide 13 text

• δϣϒఆ͔ٛΒYAMLΛੜ੒Ͱ͖Δ 13

Slide 14

Slide 14 text

ͦͷଞiOS޲͚ͷTask • Install Provisioning Profile / Cer3ficates • App Store • αϒϛοτ • TestFlight • Test with App Center 14

Slide 15

Slide 15 text

Install Provisioning Profile / Cer2ficates • Provisioning Profile΍ূ໌ॻΛΞοϓϩʔυͯ͠ΠϯετʔϧͰ ͖Δ • Developer Center͔Βऔ͖ͬͯͨΓɺࣗಈͰߋ৽ͨ͠Γ͸ͯ͠ ͘Εͳ͍ • ͦ͜·Ͱ΍Δʹ͸fastlaneΛ࢖͏ 15

Slide 16

Slide 16 text

App Store • App Store΁ͷαϒϛοτ͕ߦ͑Δ • ಺෦తʹ͸fastlaneୟ͍ͯΔ • ҰԠΦʔϓϯιʔε h0ps:/ /github.com/Microso;/app-store-vsts- extension/tree/master/Tasks/app-store-release • ݱঢ়Ͱ͖Δ͜ͱ͕ݶఆత͗ͯ͢ݫ͍͠…… • ·ͱ΋ʹ࢖͏ͷ͸೉͍͠ͷͰ͸ɻ௚઀fastlane࢖ͬͨํ͕ྑ͍ 16

Slide 17

Slide 17 text

17

Slide 18

Slide 18 text

UI Test • Visual Studio App CenterΛ࢖ͬͨUIςετ͕Մೳ • XCUITest/Appium/EarlgreyͳͲ • ͪΌΜͱ࢖ͬͯͳ͍ͷͰෆ໌ 18

Slide 19

Slide 19 text

Swi$PM • 1ͭͷδϣϒͰmacOS/Linux͕࢖͑Δ • →ΫϩεϓϥοτϑΥʔϜͳSwi0ϥΠϒϥϦʹ࢖͑Δ͔΋ʁ • Swi0PMͰఏڙ͍ͯ͠ΔϥΠϒϥϦͷϏϧυʹ࢖ͬͯΈͨ 19

Slide 20

Slide 20 text

Swi$PM • Swi% ToolchainΛѻ͏Task͕Ұ੾ແ͍ • swi%env΍ToolchainͷΠϯετʔϧΛશͯࣗલͰ΍Δඞཁ͕ ͋Δ • ͜ͷ༻్Ͱ͸ݱঢ়Travis CIͷํ͕ྑ͍ 20

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

Pros • ୯७ʹXcodeͰϏϧυ͢ΔϓϩδΣΫτ • xcodebuild Λࣗ෼Ͱୟ͔ͳͯ͘ྑ͍ • খ͞ͳϓϥΠϕʔτϓϩδΣΫτ޲͖ • ϥΠϒϥϦʹ΋ΞϓϦʹ΋࢖͑Δ 22

Slide 23

Slide 23 text

Pros • δϣϒఆٛͷॊೈ͞ • GUIͰઃఆͰ͖ͯࢼߦࡨޡ͠΍͍͢ • ઃఆཤྺ΋࢒Δ • YAMLͰѻ͏͜ͱ΋Ͱ͖Δ • GUI͔ΒYAML͕ు͚Δ 23

Slide 24

Slide 24 text

Cons • ܕʹϋϚͬͯͳ͍ϓϩδΣΫτʹෆ޲͖ • ྫ͑͹Swi%PMͰ഑෍͢ΔϥΠϒϥϦͳͲ • Ωϟογϡͷ࢓૊Έ͕ශऑ • ύοέʔδΠϯετʔϧͳͲ͕ඞཁͳϓϩδΣΫτʹෆ޲͖ • ؀ڥߏங͕DockerΛ࢖͏͜ͱલఏͱͳ͍ͬͯΔͨΊɺmacOS ͩͱ೉͍͠ 24

Slide 25

Slide 25 text

Cons • azure-pipelines.yml͕೉͍͠ • ֤λεΫͷΦϓγϣϯͳͲΛ೺Ѳ͠ͳ͍ͱ͍͚ͳ͍ͷͰGUI Ͱ΍Δ͔ɺશ෦γΣϧεΫϦϓτͰ΍ͬͨํ͕ྑ͍ҹ৅…… • ༗ྉϓϥϯߴ͍ؾ͕͢Δ • େ͖ͳΞϓϦ͸BitriseΛ࢖ͬͨํ͕ྑ͍ͷͰ͸…… 25

Slide 26

Slide 26 text

·ͱΊ • ϓϥΠϕʔτϦϙδτϦ΋࣮࣭ແྉͰྑ͍ • ܕʹϋϚͬͨ͜ͱ͸΍Γ΍ͦ͢͏ • Taskʹ͋Δ͜ͱΛ͢Δʹ͸ָ͕ͩɺͪΐͬͱ֎Εͨ͜ͱΛ͠Α͏ͱ͢Δͱ్୺ʹ ೉͍͠ • ৄ͍͠ਓ͸Travis CIͷํ͕Ή͠Ζָ • iOSͷCD༻్ʹ͸·ͩ·ͩΩπͦ͏ • App Store extensionͰͰ͖Δ͜ͱ͕ݶఆత 26

Slide 27

Slide 27 text

ࢀߟࢿྉ • h#ps:/ /docs.microso/.com/en-us/azure/devops/pipelines/ languages/xcode?view=azure-devops • h#ps:/ /github.com/Microso/Docs/pipelines-xcode 27

Slide 28

Slide 28 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 28