Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Bitriseことはじめ
Marina Nakagawa
January 29, 2018
11
2.7k
Bitriseことはじめ
Marina Nakagawa
January 29, 2018
Tweet
Share
More Decks by Marina Nakagawa
See All by Marina Nakagawa
通知にプレースホルダーを入れてみたら開封率がちょっと良くなった話
marina1017
1
1.3k
アプリ流入用広告のデータ分析基盤を整える ~FirebaseとiAd.frameworkの連携~
marina1017
1
2.7k
ABテストが上手く行かなかった話
marina1017
0
400
「開発初心者は何がわからないのか」 わからないを言語化するヒント
marina1017
2
760
Appleのアニメーションはなぜ美しいか考える
marina1017
1
1.5k
Appleのアニメーション.pdf
marina1017
0
20
gitの裏側をさぐる
marina1017
0
360
Lottieによるリッチアニメーション実装のためのAfterEffectsハマりどころ
marina1017
3
8.9k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
149
21k
How GitHub Uses GitHub to Build GitHub
holman
465
280k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
349
27k
Designing the Hi-DPI Web
ddemaree
272
32k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
181
15k
Building an army of robots
kneath
299
40k
Optimizing for Happiness
mojombo
365
63k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.2k
Build your cross-platform service in a week with App Engine
jlugia
219
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
151
13k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
WebSockets: Embracing the real-time Web
robhawkes
57
5.5k
Transcript
1 Bitrise͜ͱ͡Ί ຊܦࡁ৽ฉࣾɹத ສᣦಸ Otemachi.swiftɹ×ɹKyobashi.swift #02
2 Marina Nakagawa @marina10172013 ຊܦࡁ৽ฉࣾͷiOSΤϯδχΞ ిࢠ൛ΞϓϦɼࢴ໘ϏϡʔΞʔΞϓϦͷ։ൃ
3 ຊ͢͜ͱ Bitriseͱ ฐࣾͷCIαΠΫϧ Bitrise࣮ફνϡʔτϦΞϧ 1 2 3 BitriseTips 4
4 Bitriseͱ 1
5 Bitriseͱ ϞόΠϧΞϓϦ։ൃʢiOS Android,Xamarin…ʣ Λओ؟ʹ͓͍ͨCI/CDαʔϏεϓϥοτϑΥʔϜ
6 Ͳ͏ͯ͠ಋೖͨ͠ͷʁ
7 Travis CIͷXcode࣍ظόʔδϣϯରԠ͕ͯ͘ίέΔɹɹ ཧ༝̍ BitriseͷXcodeͷόʔδϣϯରԠ͕ ૣͯ͘Αͦ͞͏ɹɹɹɹɹɹɹɹɹɹɹ
8 !ূ໌ॻΛϓϩϏδϣχϯάϑΝΠϧΛCI༻ʹ༻ҙͨ͠Γ !ॺ໊༻ͷൿີ伴ͷཧํ๏ ূ໌ॻ͕͍͠ ཧ༝̎ ূ໌ॻपΓൿີ伴पΓָ͕
9 TravisCI ಉ࣮࣌ߦ̎ 129υϧ ίετ໘ ཧ༝̏ TravisCI ಉ࣮࣌ߦ3 150υϧ ಉ࣮࣌ߦʹ͔͔ΔίετͰൺֱ͢Δͱˈ14.5͍҆
10
11 ಉ࣌ʹ̏ͭճͤΔϓϥϯͰܖ
12 ϥΠϒϥϦߋ৽ΛΕͯखΓ͢Δ S3 ϏϧυࡁΈͷϥΠϒϥϦ Ξοϓϩʔυ ϏϧυࡁΈͷϥΠϒϥϦ μϯϩʔυ ཧ༝̐
13 ϥΠϒϥϦߋ৽ΛΕͯखΓ͢Δ S3 ϏϧυࡁΈͷϥΠϒϥϦ Ξοϓϩʔυ ϏϧυࡁΈͷϥΠϒϥϦ μϯϩʔυ ཧ༝̐ த:QA͞Μʂ֬ೝ͓ئ͍͠·͢ʂ QA͞Μ:ϏϧυͰ͖ͳ͍Ͱ͢ɾɾɾ
த:͋͋ͬɾɾ͍͢·ͤΜɾɾ֬ೝ͠·͢ த:ϥΠϒϥϦߋ৽͠Εͯ·ͨ͠ɾɾ ɹɹɹ͏Ұ֬ೝ͓ئ͍͍ͨ͠·͢
14 ϥΠϒϥϦߋ৽ΛΕͯखΓ͢Δ S3 ϏϧυࡁΈͷϥΠϒϥϦ Ξοϓϩʔυ ϏϧυࡁΈͷϥΠϒϥϦ μϯϩʔυ ཧ༝̐ खΓͷ͕͍࣌ؒͬͨͳ͍
15 ΞʔΧΠϒʴiTunesConnect Ξοϓϩʔυʹ͕͔͔࣌ؒΔ ཧ༝̑
16 ΞʔΧΠϒʴiTunesConnect Ξοϓϩʔυʹ͕͔͔࣌ؒΔ ཧ༝̑ !20ʙ30ଞͷ࡞ۀ͕Ͱ͖ͳ͍ !Ϗϧυ൪߸Λؒҧ͑ͯ࠶ΞʔΧΠϒͨ͜͠ͱ !ਃϦϦʔεΛͩ͢ϏϧυΛؒҧ͑Δϛε͕ൃੜͦ͠͏ ʢओʹࢲ͕ʣ
17 ΞʔΧΠϒʴiTunesConnect Ξοϓϩʔυʹ͕͔͔࣌ؒΔ ཧ༝̑ ͭΒ͍
18 ࣗಈԽ͠·͠ΐ͏
19 ฐࣾͷCIαΠΫϧ 2
20 Γ͍ͨ͜ͱ 1 !ϦϦʔε͢Δόʔδϣϯͷϒϥϯν͕Ϛʔδ͞Εͨ࣌ ɹࣗಈͰiTunesConnectʹΞοϓϩʔυ !TestFlight৴ !Ϗϧυ൪߸ΛࣗಈͰ্͛Δ
21 ճ͍ͨ͠αΠΫϧ ূ໌ॻ֬ೝ S3͔ΒϑϨʔϜϫʔΫΛμϯϩʔυ Ϗϧυ൪߸Λ্͛ΔͨΊͷ ϓϥάΠϯΛμϯϩʔυ Ϗϧυͯ͠iTunesConnectʹΞοϓϩʔυ ϏϧυφϯόʔΛ͋͛ͯgitʹpush ΩϟογϡΞοϓσʔτʴslack௨
22 Γ͍ͨ͜ͱ !ϥΠϒϥϦ͕ߋ৽͞ΕͯΔ͔֬ೝ !ϏϧυࡁΈͷϑϨʔϜϫʔΫΛS3ʹ্͛Δ 2
23 ճ͍ͨ͠αΠΫϧ pushͨ͠ϒϥϯνΛμϯϩʔυ pushͨ͠ϒϥϯνΛμϯϩʔυ ϥΠϒϥϦͷߋ৽͕͋Δ͔Λ֬ೝ S3ʹϑϨʔϜϫʔΫΛΞοϓσʔτ slackʹ௨ S3
24 Bitrise࣮ફ ~BitriseͷΈͰσϓϩΠͯ͠Ϗϧυ൪߸Λ্͛Δ·Ͱ~ 3
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
26 ূ໌ॻΛग़ྗ͢Δ
27 ग़ྗ͞Εͨূ໌ॻΛΞοϓϩʔυ
28 Workflowsλϒ
29 ϫʔΫϑϩʔͷ໊લΛ͍ΕΔ
30 ϫʔΫϑϩʔΛͭ͘Δ
31 ϫʔΫϑϩʔΛͭ͘Δ ←͜͜·ͰσϑΥϧτͷ··ͰOK ←͔͜͜Βઃఆ͕ඞཁ
32 㲔 Ϗϧυ൪߸ΛࣗಈͰ্͛ΔͨΊͷઃఆ Info.plistͷϑΝΠϧύεΛೖྗˣ ͜͜ʹࣈΛೖΕ͓ͯ͘ͱ Info,plistʹొ͞Ε͍ͯΔϏϧυ൪߸ʴBuild Number OffsetʹͳΓ·͢ˢ 㲔 σϑΥϧτͰɼBitriseͷϏϧυ൪߸͕
ೖ͞ΕΔઃఆʹͳ͍ͬͯ·͢ˠ
33 ΞʔΧΠϒͯ͠ग़ྗ͢Δઃఆ 㲔 ↑iTunes Connectʹఏग़͢ΔͨΊapp-storeΛબ͠·͢
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 ←͜ͷ߲Λೖྗ͢Δ
35 㲔 Slackͷಛఆͷνϟϯωϧʹ௨ΛૹΔ ↑Webhook URLΛऔಘͯ͠ೖ͢Δ
36 Webhook URLΛऔಘ͢Δ
37 ↑͜ΕΛbitriseʹίϐϖ
38 ྃ
39 Tips 4
40 ڥมΛઃఆ͍ͨ࣌͠ ϦϙδτϦ͝ͱʹڥมΛઃఆͰ͖·͢ ϫʔΫϑϩʔ͝ͱʹڥมΛઃఆ͢Δ͜ͱՄೳ
41 ϒϥϯν͝ͱʹϫʔΫϑϩʔΛม͍͑ͨ࣌ develop-*ͱʹ͔͘develop-ʹҰகͯ͠ΕdeployϫʔΫϑϩʔ͕࣮ߦ͞Ε·͢ʢྫdevelop-2.7.3ʣ ্͔Βॱ൪ʹҰக͢Δϒϥϯν͕ݟ͔ͭͬͨΒྡͷϫʔΫϑϩʔ͕࣮ߦ͞Ε·͢ ͜ͷྫͩͱdevelop-* →ɹbeta-*ɹˠ;ͨͭʹҰக͠ͳ͍߹ϒϥϯνͷ໊લ͕ԿͰ͋ͬͯ update_carhage_cahceϫʔΫϑϩʔ͕࣮ߦ͞Ε·͢
42 priveteͷϦϙδτϦΛ͍͍ͨ࣌ bitriseɹsettingλϒ
43 githubɹbotΞΧϯτͷsettingϖʔδ ࡞ͨ͠Bot͕ϓϥΠϕʔτϦϙδτϦΛಡΊΔ͔Ͳ͏͔ͷઃఆΛΕͣʹʂ
44 PodsͷΩϟογϡΛ্͍͛ͨ࣌ ࢀߟURL https://discuss.bitrise.io/t/how-to-cache-cocoapods-dependencies/193 Cache Pods Cache:Pull σϑΥϧτͷ··ͰOK ϫʔΫϑϩʔͷ࠷ॳͷํͰઃఆ͢Δඞཁ͕͋Δ (Git
Clone Repositoryͷ࣍ʹઃఆ͠·ͨ͠ʣ Cache PathsΛॻ͖͑·ͨ͠ ϫʔΫϑϩʔͷҰ൪࠷ޙʹઃఆ͠·ͨ͠
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
46 ୭͔͕pushͨ͠ޙpull͠ͳ͍ͱ Ϗϧυ൪߸͕͔ͿΔɾɾɾ Ϗϧυ൪߸30 Ϗϧυ൪߸30 Ϗϧυ൪߸30 Ϗϧυ൪߸30 Ξοϓϩʔυ ͢ͰʹϏϧυ൪߸30ͷ
σʔλ͕ଘࡏ͢ΔͨΊ ΞοϓϩʔυͰ͖ͳ͍
47 ୭͔͕pushͨ͠ޙpull͠ͳ͍ͱ Ϗϧυ൪߸͕͔ͿΔɾɾɾ Ϗϧυ൪߸30 Ϗϧυ൪߸30 Ϗϧυ൪߸30 Ϗϧυ൪߸30 Ξοϓϩʔυ ͢ͰʹϏϧυ൪߸30ͷ
σʔλ͕ଘࡏ͢ΔͨΊ ΞοϓϩʔυͰ͖ͳ͍ BitriseͷϏϧυ൪߸ʹ߹Θͤͯ Ϗϧυ൪߸Λੜ͢Δํʹมߋ
48 ymlϑΝΠϧͷѻ͍ํ͕΄͔ͷCIͱҧ͏ bitriseCIͷymlϑΝΠϧΛมߋͯ͠ϦϙδτϦʹ͋͛ͯ ͦΕ͕bitrise্ʹө͞ΕΔΘ͚Ͱͳ͍ bitriseͷWebαʔϏε্Ͱมߋ͢Δඞཁ͕͋Δ
49 ࢀߟURL: http://devcenter.bitrise.io/tips-and-tricks/use-bitrise-yml-from-repository/ bitriseͷ৴೦ !ϒϥϯνͷτϦΨʔbitrise.io্Ͱཧ͢Δͷ͕ྑ͍ Bitriseɺϒϥϯνͷ໊લΛτϦΨʔʹͯ͠ɺ ࣮ߦ͢ΔϫʔΫϑϩʔΛܾΊͯΔ͔Β !ϏϧυߏΛbitriseʹอଘ͢Δͱɺ ৽͍͠ϏϧυߏͰ͍ͭͰ؆୯ʹ࠶ߏஙͰ͖ͯศར
50 େମfastlaneͰઃఆ͔ͨ͠Β bitriseͷ৴೦ʹدΓఴ͑ͳ͔ͬͨɾɾɾɾ
51 ࠷ޙʹ
52 ࣗಈԽͯͤ͠ʹͳͬͨ ࢹ֮తͰॳ৺ऀʹ͍͞͠
53 ͋Γ͕ͱ͏͍͟͝·ͨ͠