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
Bitriseことはじめ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Marina Nakagawa
January 29, 2018
3.5k
12
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Bitriseことはじめ
Marina Nakagawa
January 29, 2018
More Decks by Marina Nakagawa
See All by Marina Nakagawa
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
630
業務改善の面白さ~毎日更新されるビジュアルコンテンツの差分を わかりやすくするためのプロトタイプを作るまで~
marina1017
4
7.2k
通知にプレースホルダーを入れてみたら開封率がちょっと良くなった話
marina1017
1
2k
アプリ流入用広告のデータ分析基盤を整える ~FirebaseとiAd.frameworkの連携~
marina1017
2
3.7k
ABテストが上手く行かなかった話
marina1017
1
650
「開発初心者は何がわからないのか」 わからないを言語化するヒント
marina1017
2
1k
Appleのアニメーションはなぜ美しいか考える
marina1017
1
2.3k
Appleのアニメーション.pdf
marina1017
0
77
gitの裏側をさぐる
marina1017
0
510
Featured
See All Featured
Building an army of robots
kneath
306
46k
Docker and Python
trallard
47
3.9k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Six Lessons from altMBA
skipperchong
29
4.3k
Side Projects
sachag
455
43k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Designing Experiences People Love
moore
143
24k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
New Earth Scene 8
popppiees
3
2.3k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
310
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 ͋Γ͕ͱ͏͍͟͝·ͨ͠