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
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
650
業務改善の面白さ~毎日更新されるビジュアルコンテンツの差分を わかりやすくするためのプロトタイプを作るまで~
marina1017
4
7.2k
通知にプレースホルダーを入れてみたら開封率がちょっと良くなった話
marina1017
1
2k
アプリ流入用広告のデータ分析基盤を整える ~FirebaseとiAd.frameworkの連携~
marina1017
2
3.7k
ABテストが上手く行かなかった話
marina1017
1
660
「開発初心者は何がわからないのか」 わからないを言語化するヒント
marina1017
2
1k
Appleのアニメーションはなぜ美しいか考える
marina1017
1
2.4k
Appleのアニメーション.pdf
marina1017
0
80
gitの裏側をさぐる
marina1017
0
520
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
210
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
250
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
710
The Invisible Side of Design
smashingmag
301
52k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
YesSQL, Process and Tooling at Scale
rocio
174
15k
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 ͋Γ͕ͱ͏͍͟͝·ͨ͠