Slide 1

Slide 1 text

©2018 Wantedly, Inc. #JUSJTF4UFQͷ࡞Γํ Mobile CI/CD Meetup Ryo Sakaguchi (@wakwak3125) 2018.8.16 -

Slide 2

Slide 2 text

©2018 Wantedly, Inc. HJUIVCSFMFBTFEPXOMPBEFS XBLXBLCJUSJTFTUFQHJUIVCSFMFBTFEPXOMPBEFS

Slide 3

Slide 3 text

©2018 Wantedly, Inc.

Slide 4

Slide 4 text

©2018 Wantedly, Inc. • GitHub Releases͔ΒͷϑΝΠϧμ΢ϯϩʔυ • tagࢦఆͰͳΜͰ΋μ΢ϯϩʔυͰ͖Δ • latestͰৗʹ࠷৽ͷ΋ͷΛμ΢ϯϩʔυͯ͘͠Δ • ෳ਺ϑΝΠϧͷμ΢ϯϩʔυʹରԠ͍ͯ͠Δ Ͱ͖Δ͜ͱ

Slide 5

Slide 5 text

ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2018 Wantedly, Inc. ͳΜͰඞཁ͔ͩͬͨ

Slide 6

Slide 6 text

©2018 Wantedly, Inc. 3FMFBTFGMPX ͪΐͬͱલ·Ͱͷ8BOUFEMZ1FPQMFͷ3FMFBTFqPX

Slide 7

Slide 7 text

©2018 Wantedly, Inc. Release Workflow Checkout release branch Versioning, 
 Create change logs Merge release branch to master Deploy to Crashlytics Beta Deploy to Google Play 
 internal track Rollout the new app
 (0.5%~) ࣗ෼Ͱ΍Δ fastlaneͷlaneΛखݩͰ࣮ߦ͢Δ GitHubͰ΍Δ BitriseͰfastlane͕΍Δ Slackܦ༝Ͱ
 Bitrise͕fastlaneͰ΍Δ ࣗ෼Ͱ΍Δ

Slide 8

Slide 8 text

©2018 Wantedly, Inc. Release Workflow Checkout release branch Versioning, 
 Create change logs Merge release branch to master Deploy to Crashlytics Beta Deploy to Google Play 
 internal track Rollout the new app
 (0.5%~) ࣗ෼Ͱ΍Δ fastlaneͷlaneΛखݩͰ࣮ߦ͢Δ GitHubͰ΍Δ BitriseͰfastlane͕΍Δ Slackܦ༝Ͱ
 Bitrise͕fastlaneͰ΍Δ ࣗ෼Ͱ΍Δ

Slide 9

Slide 9 text

©2018 Wantedly, Inc. Release Workflow Checkout release branch Versioning, 
 Create change logs Merge release branch to master Deploy to Crashlytics Beta Deploy to Google Play 
 internal track Rollout the new app
 (0.5%~) ࣗ෼Ͱ΍Δ fastlaneͷlaneΛखݩͰ࣮ߦ͢Δ GitHubͰ΍Δ BitriseͰfastlane͕΍Δ Slackܦ༝Ͱ
 Bitrise͕fastlaneͰ΍Δ ࣗ෼Ͱ΍Δ

Slide 10

Slide 10 text

©2018 Wantedly, Inc. Release Workflow Checkout release branch Versioning, 
 Create change logs Merge release branch to master Deploy to Crashlytics Beta Deploy to Google Play 
 internal track Rollout the new app
 (0.5%~) ࣗ෼Ͱ΍Δ fastlaneͷlaneΛखݩͰ࣮ߦ͢Δ GitHubͰ΍Δ BitriseͰfastlane͕΍Δ Slackܦ༝Ͱ
 Bitrise͕fastlaneͰ΍Δ ࣗ෼Ͱ΍Δ

Slide 11

Slide 11 text

©2018 Wantedly, Inc. Release Workflow Checkout release branch Versioning, 
 Create change logs Merge release branch to master Deploy to Crashlytics Beta Deploy to Google Play 
 internal track Rollout the new app
 (0.5%~) ࣗ෼Ͱ΍Δ fastlaneͷlaneΛखݩͰ࣮ߦ͢Δ GitHubͰ΍Δ BitriseͰfastlane͕΍Δ Slackܦ༝Ͱ
 Bitrise͕fastlaneͰ΍Δ ࣗ෼Ͱ΍Δ

Slide 12

Slide 12 text

©2018 Wantedly, Inc. Release Workflow Checkout release branch Versioning, 
 Create change logs Merge release branch to master Deploy to Crashlytics Beta Deploy to Google Play 
 internal track Rollout the new app
 (0.5%~) ࣗ෼Ͱ΍Δ fastlaneͷlaneΛखݩͰ࣮ߦ͢Δ GitHubͰ΍Δ BitriseͰfastlane͕΍Δ Slackܦ༝Ͱ
 Bitrise͕fastlaneͰ΍Δ ࣗ෼Ͱ΍Δ

Slide 13

Slide 13 text

©2018 Wantedly, Inc. Release Workflow Checkout release branch Versioning, 
 Create change logs Merge release branch to master Deploy to Crashlytics Beta Deploy to Google Play 
 internal track Rollout the new app
 (0.5%~) ࣗ෼Ͱ΍Δ fastlaneͷlaneΛखݩͰ࣮ߦ͢Δ GitHubͰ΍Δ BitriseͰfastlane͕΍Δ Slackܦ༝Ͱ
 Bitrise͕fastlaneͰ΍Δ ࣗ෼Ͱ΍Δ ͜ͷϏϧυͰ໿෼ɺ଴ͬͯΒΕΔ͚Ͳ଎͍ͨ͘͠

Slide 14

Slide 14 text

©2018 Wantedly, Inc. 3FMFBTFGMPX ࠷ۙͷ8BOUFEMZ1FPQMFͷ3FMFBTFqPX

Slide 15

Slide 15 text

©2018 Wantedly, Inc. Release Workflow Checkout release branch Versioning, 
 Create change logs Merge release branch to master Deploy to Crashlytics Beta
 Create GitHub Releases 
 and upload apks. Deploy to Google Play 
 internal track Rollout the new app
 (0.5%~) ࣗ෼Ͱ΍Δ fastlaneͷlaneΛखݩͰ࣮ߦ͢Δ GitHubͰ΍Δ BitriseͰfastlane͕΍Δ Slackܦ༝Ͱ
 GitHub Releases͔ΒDLͨ͠apkΛ
 fastlaneͰΞοϓϩʔυ͢Δ ࣗ෼Ͱ΍Δ Ϗϧυ͕ճ͚ͩʹͳΔͷͰ଎͍ɻ໿෼

Slide 16

Slide 16 text

©2018 Wantedly, Inc. ͬ͘͟Γ࡞Γํ ϋϚͬͨϙΠϯτɾ5*14

Slide 17

Slide 17 text

©2018 Wantedly, Inc. Create and share your own Step https://devcenter.bitrise.io/bitrise-cli/create-your-own-step/ Page Title Page Subtitle

Slide 18

Slide 18 text

©2018 Wantedly, Inc. 1. Install and setup bitrise CLI • brew install bitrise • bitrise setup • bitrise plugin update step ͬ͘͟Γ࡞Γํ ϋϚͬͨϙΠϯτɾTIPS

Slide 19

Slide 19 text

©2018 Wantedly, Inc. 2. Create step template • bitrise :step create • ର࿩ࣜͷscaffoldίϚϯυ • Author name • Step ID • Summary • Description • Category of step • Language(bash or golang) • Host on GitHub? ͬ͘͟Γ࡞Γํ ϋϚͬͨϙΠϯτɾTIPS bitrise-step-my-step !"" .bitrise.secrets.yml !"" .git !"" .gitignore !"" LICENSE !"" README.md !"" bitrise.yml !"" main.go #"" step.yml

Slide 20

Slide 20 text

©2018 Wantedly, Inc. 2. Create step template • bitrise :step create • ର࿩ࣜͷscaffoldίϚϯυ • Author name • Step ID • Summary • Description • Category of step • Language(bash or golang) • Host on GitHub? ͬ͘͟Γ࡞Γํ ϋϚͬͨϙΠϯτɾTIPS bitrise-step-my-step !"" .bitrise.secrets.yml !"" .git !"" .gitignore !"" LICENSE !"" README.md !"" bitrise.yml !"" main.go #"" step.yml

Slide 21

Slide 21 text

©2018 Wantedly, Inc. 3. Define input/output • step.ymlͰinputͱoutputΛఆٛ͢Δ • ͜͜Ͱఆٛͨ͠΋ͷ͕ɺBitriseͷstepͷೖྗϑΥʔϜʹͳΔ ͬ͘͟Γ࡞Γํ ϋϚͬͨϙΠϯτɾTIPS

Slide 22

Slide 22 text

©2018 Wantedly, Inc. 4. Implement Step • ࠓճ͸GoΛ࢖͏͜ͱʹͨ͠ • bitrise-tools/go-steputils͕͋ΔͱศརʹͳΔ • inputΛparseͨ͠ΓɺloggingͩͬͨΓ • Dependency manager͸golang/dep • ஫ҙ఺ • vendorσΟϨΫτϦ͸ϦϙδτϦʹؚΊͳ͍ͱ࣮ߦͰ͖ͳ͘ͳΔ • main.goʹεςοϓͷ࣮૷Λॻ͍͍ͯ͘ • ໎ͬͨͱ͖͸bitriseެࣜͷStepͷϦϙδτϦΛݟΔͱྑ͍ ͬ͘͟Γ࡞Γํ ϋϚͬͨϙΠϯτɾTIPS

Slide 23

Slide 23 text

©2018 Wantedly, Inc. 5. Test • bitrise run test • ͟ʔͬͱϏϧυͯ͠εςοϓͷ࣮ߦΛςετͯ͘͠ΕΔ • input͕ඞཁͳ৔߹͸.bitrise.secrets.ymlʹ
 ༧Ίೖྗ͓ͯ͘͠ͱɺbitrise.ymlͰΞΫηεՄೳ ͬ͘͟Γ࡞Γํ ϋϚͬͨϙΠϯτɾTIPS

Slide 24

Slide 24 text

©2018 Wantedly, Inc. 5. Release • ެࣜυΩϡϝϯτͩͱͪΐͬͱ෼͔ΓͮΒ͔ͬͨ • bitrise-io/bitrise-steplibΛfork • bitrise run audit-this-step • bitrise run share-this-step • bitrise-io/bitrise-steplibʹ޲͚ͯPull Request͕࡞ΒΕΔ • ͜͜ͰReviewΛ௨ΔͱϦϦʔε׬ྃ • ͍͍ͩͨ൒೔ʙ1೔ͰϦϦʔεͰ͖Δ • 2ͭίϚϯυΛୟ͘ඞཁ͕͋ΔͷͰɺscriptʹ͓ͯ͘͠ͱศར ͬ͘͟Γ࡞Γํ ϋϚͬͨϙΠϯτɾTIPS

Slide 25

Slide 25 text

©2018 Wantedly, Inc. • Step Development Guideline • https://github.com/bitrise-io/bitrise/blob/master/_docs/step- development-guideline.md • bitrise-steplib/steps-github-release • https://github.com/bitrise-steplib/steps-github-release • ಡΉͷʹͪΐ͏Ͳ͍͍Step • How to create and share your own Bitrise step • https://medium.com/@bitrise/how-to-create-and-share-your-own- bitrise-step-34c33dd8ec44 • ެࣜMedium ࢀߟʹͳΓͦ͏ͳURL