Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bitriseことはじめ

Marina Nakagawa
January 29, 2018
3.1k

 Bitriseことはじめ

Marina Nakagawa

January 29, 2018
Tweet

More Decks by Marina Nakagawa

Transcript

  1. 1
    Bitrise͜ͱ͸͡Ί
    ೔ຊܦࡁ৽ฉࣾɹத઒ ສᣦಸ
    Otemachi.swiftɹ×ɹKyobashi.swift #02

    View Slide

  2. 2
    Marina Nakagawa
    @marina10172013
    ೔ຊܦࡁ৽ฉࣾͷiOSΤϯδχΞ
    ిࢠ൛ΞϓϦɼࢴ໘ϏϡʔΞʔΞϓϦͷ։ൃ

    View Slide

  3. 3
    ຊ೔࿩͢͜ͱ
    Bitriseͱ͸
    ฐࣾͷCIαΠΫϧ
    Bitrise࣮ફνϡʔτϦΞϧ
    1
    2
    3
    BitriseTips
    4

    View Slide

  4. 4
    Bitriseͱ͸
    1

    View Slide

  5. 5
    Bitriseͱ͸
    ϞόΠϧΞϓϦ։ൃʢiOS Android,Xamarin…ʣ
    Λओ؟ʹ͓͍ͨCI/CDαʔϏεϓϥοτϑΥʔϜ

    View Slide

  6. 6
    Ͳ͏ͯ͠ಋೖͨ͠ͷʁ

    View Slide

  7. 7
    Travis CIͷXcode࣍ظόʔδϣϯରԠ͕஗ͯ͘ίέΔɹɹ
    ཧ༝̍
    BitriseͷXcodeͷόʔδϣϯରԠ͕
    ૣͯ͘Αͦ͞͏ɹɹɹɹɹɹɹɹɹɹɹ

    View Slide

  8. 8
    !ূ໌ॻΛϓϩϏδϣχϯάϑΝΠϧΛCI༻ʹ༻ҙͨ͠Γ
    !ॺ໊༻ͷൿີ伴ͷ؅ཧํ๏
    ূ໌ॻ͕೉͍͠
    ཧ༝̎
    ূ໌ॻपΓ΍ൿີ伴पΓָ͕

    View Slide

  9. 9
    TravisCI
    ಉ࣮࣌ߦ਺̎
    129υϧ
    ίετ໘
    ཧ༝̏
    TravisCI
    ಉ࣮࣌ߦ਺3
    150υϧ
    ಉ࣮࣌ߦ਺ʹ͔͔ΔίετͰൺֱ͢Δͱˈ14.5͍҆

    View Slide

  10. 10

    View Slide

  11. 11
    ಉ࣌ʹ̏ͭճͤΔϓϥϯͰܖ໿

    View Slide

  12. 12
    ϥΠϒϥϦߋ৽Λ๨Εͯख໭Γ͢Δ
    S3
    ϏϧυࡁΈͷϥΠϒϥϦ
    Ξοϓϩʔυ
    ϏϧυࡁΈͷϥΠϒϥϦ
    μ΢ϯϩʔυ
    ཧ༝̐

    View Slide

  13. 13
    ϥΠϒϥϦߋ৽Λ๨Εͯख໭Γ͢Δ
    S3
    ϏϧυࡁΈͷϥΠϒϥϦ
    Ξοϓϩʔυ
    ϏϧυࡁΈͷϥΠϒϥϦ
    μ΢ϯϩʔυ
    ཧ༝̐
    த઒:QA͞Μʂ֬ೝ͓ئ͍͠·͢ʂ
    QA͞Μ:ϏϧυͰ͖ͳ͍Ͱ͢ɾɾɾ
    த઒:͋͋ͬɾɾ͍͢·ͤΜɾɾ֬ೝ͠·͢
    த઒:ϥΠϒϥϦߋ৽͠๨Εͯ·ͨ͠ɾɾ
    ɹɹɹ΋͏Ұ౓֬ೝ͓ئ͍͍ͨ͠·͢

    View Slide

  14. 14
    ϥΠϒϥϦߋ৽Λ๨Εͯख໭Γ͢Δ
    S3
    ϏϧυࡁΈͷϥΠϒϥϦ
    Ξοϓϩʔυ
    ϏϧυࡁΈͷϥΠϒϥϦ
    μ΢ϯϩʔυ
    ཧ༝̐
    ख໭Γͷ͕࣌ؒ΋͍ͬͨͳ͍

    View Slide

  15. 15
    ΞʔΧΠϒʴiTunesConnect
    Ξοϓϩʔυʹ͕͔͔࣌ؒΔ
    ཧ༝̑

    View Slide

  16. 16
    ΞʔΧΠϒʴiTunesConnect
    Ξοϓϩʔυʹ͕͔͔࣌ؒΔ
    ཧ༝̑
    !20ʙ30෼ଞͷ࡞ۀ͕Ͱ͖ͳ͍
    !Ϗϧυ൪߸Λؒҧ͑ͯ࠶ΞʔΧΠϒͨ͜͠ͱ΋
    !ਃ੥΍ϦϦʔεΛͩ͢ϏϧυΛؒҧ͑Δϛε͕ൃੜͦ͠͏

    ʢओʹࢲ͕ʣ

    View Slide

  17. 17
    ΞʔΧΠϒʴiTunesConnect
    Ξοϓϩʔυʹ͕͔͔࣌ؒΔ
    ཧ༝̑
    ͭΒ͍

    View Slide

  18. 18
    ࣗಈԽ͠·͠ΐ͏

    View Slide

  19. 19
    ฐࣾͷCIαΠΫϧ
    2

    View Slide

  20. 20
    ΍Γ͍ͨ͜ͱ
    1
    !ϦϦʔε͢Δόʔδϣϯͷϒϥϯν͕Ϛʔδ͞Εͨ࣌
    ɹࣗಈͰiTunesConnectʹΞοϓϩʔυ
    !TestFlight഑৴
    !Ϗϧυ൪߸ΛࣗಈͰ্͛Δ

    View Slide

  21. 21
    ճ͍ͨ͠αΠΫϧ
    ূ໌ॻ֬ೝ
    S3͔ΒϑϨʔϜϫʔΫΛμ΢ϯϩʔυ
    Ϗϧυ൪߸Λ্͛ΔͨΊͷ
    ϓϥάΠϯΛμ΢ϯϩʔυ
    Ϗϧυͯ͠iTunesConnectʹΞοϓϩʔυ
    ϏϧυφϯόʔΛ͋͛ͯgitʹpush
    ΩϟογϡΞοϓσʔτʴslack௨஌

    View Slide

  22. 22
    ΍Γ͍ͨ͜ͱ
    !ϥΠϒϥϦ͕ߋ৽͞ΕͯΔ͔֬ೝ
    !ϏϧυࡁΈͷϑϨʔϜϫʔΫΛS3ʹ্͛Δ
    2

    View Slide

  23. 23
    ճ͍ͨ͠αΠΫϧ
    pushͨ͠ϒϥϯνΛμ΢ϯϩʔυ
    pushͨ͠ϒϥϯνΛμ΢ϯϩʔυ
    ϥΠϒϥϦͷߋ৽͕͋Δ͔Λ֬ೝ
    S3ʹϑϨʔϜϫʔΫΛΞοϓσʔτ
    slackʹ௨஌
    S3

    View Slide

  24. 24
    Bitrise࣮ફ
    ~BitriseͷΈͰσϓϩΠͯ͠Ϗϧυ൪߸Λ্͛Δ·Ͱ~
    3

    View Slide

  25. 25
    ূ໌ॻΛग़ྗ͢Δ
    ࢀߟURL: http://devcenter.bitrise.io/ios/uploading-certificates/
    ԼهίϚϯυΛ࣮ߦͯ͠ɺΞʔΧΠϒ͍ͨ͠εΩʔϚΛબ୒͢Δ
    bash -l -c "$(curl -sfL https://raw.githubusercontent.com/bitrise-tools/codesigndoc/master/_scripts/install_wrap-xcode.sh)"
    XcodeϑΝΠϧΛ
    Darg&Drop

    View Slide

  26. 26
    ূ໌ॻΛग़ྗ͢Δ

    View Slide

  27. 27
    ग़ྗ͞Εͨূ໌ॻΛΞοϓϩʔυ

    View Slide

  28. 28
    Workflowsλϒ

    View Slide

  29. 29
    ϫʔΫϑϩʔͷ໊લΛ͍ΕΔ

    View Slide

  30. 30
    ϫʔΫϑϩʔΛͭ͘Δ

    View Slide

  31. 31
    ϫʔΫϑϩʔΛͭ͘Δ
    ←͜͜·Ͱ͸σϑΥϧτͷ··ͰOK
    ←͔͜͜Βઃఆ͕ඞཁ

    View Slide

  32. 32

    Ϗϧυ൪߸ΛࣗಈͰ্͛ΔͨΊͷઃఆ
    Info.plistͷϑΝΠϧύεΛೖྗˣ
    ͜͜ʹ਺ࣈΛೖΕ͓ͯ͘ͱ
    Info,plistʹొ࿥͞Ε͍ͯΔϏϧυ൪߸ʴBuild Number OffsetʹͳΓ·͢ˢ

    σϑΥϧτͰ͸ɼBitriseͷϏϧυ൪߸͕
    ୅ೖ͞ΕΔઃఆʹͳ͍ͬͯ·͢ˠ

    View Slide

  33. 33
    ΞʔΧΠϒͯ͠ग़ྗ͢Δઃఆ

    ↑iTunes Connectʹఏग़͢ΔͨΊapp-storeΛબ୒͠·͢

    View Slide

  34. 34
    iTunesConnectʹΞοϓϩʔυ͢Δઃఆ
    iTunes Connect: User Apple ID (email)
    iTunes Connect: Password
    iTunes Connect: App Apple ID
    iTunes Connect: App Bundle ID
    iTunes Connect: Team name
    ←͜ͷ߲໨Λೖྗ͢Δ

    View Slide

  35. 35

    Slackͷಛఆͷνϟϯωϧʹ௨஌ΛૹΔ
    ↑Webhook URLΛऔಘͯ͠୅ೖ͢Δ

    View Slide

  36. 36
    Webhook URLΛऔಘ͢Δ

    View Slide

  37. 37
    ↑͜ΕΛbitriseʹίϐϖ

    View Slide

  38. 38
    ׬ྃ

    View Slide

  39. 39
    Tips
    4

    View Slide

  40. 40
    ؀ڥม਺Λઃఆ͍ͨ࣌͠
    ϦϙδτϦ͝ͱʹ؀ڥม਺ΛઃఆͰ͖·͢
    ϫʔΫϑϩʔ͝ͱʹ؀ڥม਺Λઃఆ͢Δ͜ͱ΋Մೳ

    View Slide

  41. 41
    ϒϥϯν͝ͱʹϫʔΫϑϩʔΛม͍͑ͨ࣌
    develop-*͸ͱʹ͔͘develop-ʹҰகͯ͠Ε͹deployϫʔΫϑϩʔ͕࣮ߦ͞Ε·͢ʢྫdevelop-2.7.3ʣ
    ্͔Βॱ൪ʹҰக͢Δϒϥϯν͕ݟ͔ͭͬͨΒྡͷϫʔΫϑϩʔ͕࣮ߦ͞Ε·͢
    ͜ͷྫͩͱdevelop-* →ɹbeta-*ɹˠ;ͨͭʹҰக͠ͳ͍৔߹͸ϒϥϯνͷ໊લ͕ԿͰ͋ͬͯ΋
    update_carhage_cahceϫʔΫϑϩʔ͕࣮ߦ͞Ε·͢

    View Slide

  42. 42
    priveteͷϦϙδτϦΛ࢖͍͍ͨ࣌
    bitriseɹsettingλϒ಺

    View Slide

  43. 43
    githubɹbotΞΧ΢ϯτͷsettingϖʔδ
    ࡞੒ͨ͠Bot͕ϓϥΠϕʔτϦϙδτϦΛಡΊΔ͔Ͳ͏͔ͷઃఆΛ๨Εͣʹʂ

    View Slide

  44. 44
    PodsͷΩϟογϡΛ্͍͛ͨ࣌
    ࢀߟURL https://discuss.bitrise.io/t/how-to-cache-cocoapods-dependencies/193
    Cache Pods
    Cache:Pull
    σϑΥϧτͷ··ͰOK
    ϫʔΫϑϩʔͷ࠷ॳͷํͰઃఆ͢Δඞཁ͕͋Δ

    (Git Clone Repositoryͷ࣍ʹઃఆ͠·ͨ͠ʣ
    Cache PathsΛॻ͖׵͑·ͨ͠
    ϫʔΫϑϩʔͷҰ൪࠷ޙʹઃఆ͠·ͨ͠

    View Slide

  45. 45
    fastlaneͰϏϧυ൪߸Λ͍͋͛ͤͨ࣌͞
    desc "update build number"
    lane :update_build_number do |options|
    xcodeproj = XCODEPROJ_PATH
    build_number = options[:build_number]
    version_number = options[:version_number]
    # dist
    increment_build_number_in_plist(xcodeproj: xcodeproj, target: SCHEME_DIST, build_number: build_number)
    # dev
    increment_build_number_in_plist(xcodeproj: xcodeproj, target: SCHEME_DEV, build_number: build_number)
    end
    desc "Commit and push to remote"
    lane :commit_and_push do
    # git commit
    sh "git checkout #{git_branch}"
    git_add(path: [PLIST_PATH_DEV, PLIST_PATH_DIST])
    git_commit(path: [PLIST_PATH_DEV, PLIST_PATH_DIST], message: "Increment Info-development.plist and Info.plist build number [skip ci] ")
    push_to_git_remote(
    remote: "origin",
    local_branch: "#{git_branch}",
    remote_branch: "#{git_branch}",
    force: false, # optional, default: false
    tags: false # optional, default: true
    )
    end

    View Slide

  46. 46
    ໰୊఺
    ୭͔͕pushͨ͠ޙ͸pull͠ͳ͍ͱ
    Ϗϧυ൪߸͕͔ͿΔɾɾɾ
    Ϗϧυ൪߸30
    Ϗϧυ൪߸30
    Ϗϧυ൪߸30
    Ϗϧυ൪߸30
    Ξοϓϩʔυ
    ͢ͰʹϏϧυ൪߸30ͷ
    σʔλ͕ଘࡏ͢ΔͨΊ

    ΞοϓϩʔυͰ͖ͳ͍

    View Slide

  47. 47
    ໰୊఺
    ୭͔͕pushͨ͠ޙ͸pull͠ͳ͍ͱ
    Ϗϧυ൪߸͕͔ͿΔɾɾɾ
    Ϗϧυ൪߸30
    Ϗϧυ൪߸30
    Ϗϧυ൪߸30
    Ϗϧυ൪߸30
    Ξοϓϩʔυ
    ͢ͰʹϏϧυ൪߸30ͷ
    σʔλ͕ଘࡏ͢ΔͨΊ

    ΞοϓϩʔυͰ͖ͳ͍
    BitriseͷϏϧυ൪߸ʹ߹Θͤͯ
    Ϗϧυ൪߸Λੜ੒͢Δํ਑ʹมߋ

    View Slide

  48. 48
    ymlϑΝΠϧͷѻ͍ํ͕΄͔ͷCIͱҧ͏
    bitriseCIͷymlϑΝΠϧΛมߋͯ͠ϦϙδτϦʹ͋͛ͯ΋
    ͦΕ͕bitrise্ʹ൓ө͞ΕΔΘ͚Ͱ͸ͳ͍
    bitriseͷWebαʔϏε্Ͱมߋ͢Δඞཁ͕͋Δ

    View Slide

  49. 49
    ࢀߟURL: http://devcenter.bitrise.io/tips-and-tricks/use-bitrise-yml-from-repository/
    bitriseͷ৴೦
    !ϒϥϯνͷτϦΨʔ͸bitrise.io্Ͱ؅ཧ͢Δͷ͕ྑ͍
    Bitrise͸ɺϒϥϯνͷ໊લΛτϦΨʔʹͯ͠ɺ
    ࣮ߦ͢ΔϫʔΫϑϩʔΛܾΊͯΔ͔Β
    !Ϗϧυߏ੒Λbitriseʹอଘ͢Δͱɺ
    ৽͍͠Ϗϧυߏ੒Ͱ͍ͭͰ΋؆୯ʹ࠶ߏஙͰ͖ͯศར

    View Slide

  50. 50
    େମfastlaneͰઃఆ͔ͨ͠Β
    bitriseͷ৴೦ʹدΓఴ͑ͳ͔ͬͨɾɾɾɾ

    View Slide

  51. 51
    ࠷ޙʹ

    View Slide

  52. 52
    ࣗಈԽͯ͠޾ͤʹͳͬͨ
    ࢹ֮తͰॳ৺ऀʹ΍͍͞͠

    View Slide

  53. 53
    ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide