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
レバレッジ効果をもたらす自動化のコツ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kishikawa Katsumi
July 31, 2019
Programming
1.5k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
レバレッジ効果をもたらす自動化のコツ
Kishikawa Katsumi
July 31, 2019
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
170
Running Swift without an OS
kishikawakatsumi
0
1.1k
浮動小数の比較について
kishikawakatsumi
0
610
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
270
愛される翻訳の秘訣
kishikawakatsumi
3
490
Private APIの呼び出し方
kishikawakatsumi
3
1k
iOSでSVG画像を扱う
kishikawakatsumi
0
260
Build your own WebP codec in Swift
kishikawakatsumi
2
2.7k
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
340
Other Decks in Programming
See All in Programming
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
860
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
150
MySQLとPostgreSQLって何が違うの?
akagami
PRO
0
170
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
Foundry Localでエージェント開発
seosoft
0
130
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
560
[PyCon KR 2026] More Variants, More Diversity for AI Accelerators
achimnol
0
130
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
410
Deep dive into the select statement (GopherCon UK)
jespino
0
170
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
260
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.7k
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
310
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Design in an AI World
tapps
1
300
What's in a price? How to price your products and services
michaelherold
247
13k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
New Earth Scene 8
popppiees
3
2.5k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
560
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Transcript
ϨόϨοδޮՌΛͨΒ͢ ࣗಈԽͷίπ
ࣗಈԽඇػೳཁ݅ • ϝϦοτ͕େ͖͍͜ͱཧղ͍ͯͯ͠༏ઌΛ্͛ͯऔΓΉ͜ͱ͕͠ ͍
ࣗಈԽϨόϨοδޮՌ͕͋Δ
ࣗಈԽͷखॱ खݩͷ࡞ۀΛ... ཧͯ͠ίϚϯυϥΠϯԽ CIͳͲͰ࣮ߦ͢Δ
ࣗಈԽͷखॱ खݩͷ࡞ۀΛ... ཧͯ͠ίϚϯυϥΠϯԽ CIͳͲͰ࣮ߦ͢Δ ͜Ε͕ϨόϨοδޮՌΛ͏Ή
ϨόϨοδޮՌΛੜΉࣗಈԽͷצͲ͜Ζ • ख࡞ۀ => ࣗಈ࣮ߦ • λεΫ͕ίϚϯυϥΠϯʹཧ͞ΕΔ • λεΫ͕ཧɾղ͞ΕΔ •
λεΫ͕ίʔυͰදݱ͞ΕΔʢʓʓ as a codeʣ • ܁Γฦ࣮͠ߦՄೳʹͳΔ • τϥοΩϯά͕Մೳ • ۀՄೳʹͳΔ • ࣮ߦڥ͕҆ఆ͢Δ
ϨόϨοδޮՌΛੜΉࣗಈԽͷצͲ͜Ζ • ख࡞ۀ => ࣗಈ࣮ߦ • λεΫ͕ίϚϯυϥΠϯʹཧ͞ΕΔ • λεΫ͕ཧɾղ͞ΕΔ •
λεΫ͕ίʔυͰදݱ͞ΕΔʢʓʓ as a codeʣ • ܁Γฦ࣮͠ߦՄೳʹͳΔ • τϥοΩϯά͕Մೳ • ۀՄೳʹͳΔ • ࣮ߦڥ͕҆ఆ͢Δ
λεΫΛίʔυͰදݱ͢Δʢʓʓ as a codeʣ
λεΫΛίʔυͰදݱ͢Δʢʓʓ as a codeʣ
λεΫΛίʔυͰදݱ͢Δʢʓʓ as a codeʣ
λεΫΛίʔυͰදݱ͢Δʢʓʓ as a codeʣ • ࣗಈԽ͕ՄೳʹͳΔ
λεΫΛίʔυͰදݱ͢Δʢʓʓ as a codeʣ • ࣗಈԽ͕ՄೳʹͳΔ • ୭Ͱ࣮ߦՄೳʹͳΔ • ಡΊΘ͔ΔΑ͏ʹͳΔ
• ڥ͕҆ఆ͢Δ • etc.
ࣗಈԽͷखॱ खݩͷ࡞ۀΛ... ཧͯ͠ίϚϯυϥΠϯԽ CIͳͲͰ࣮ߦ͢Δ
λεΫΛίʔυͰදݱ͢Δʢʓʓ as a codeʣ • มߋཧ͕ՄೳʹͳΔ • τϥοΩϯάՄೳʹͳΔ • ࠶ݱՄೳʹͳΔ
• etc.
ࣗಈԽͷखॱ खݩͷ࡞ۀΛ... ཧͯ͠ίϚϯυϥΠϯԽ CIͳͲͰ࣮ߦ͢Δ
ࣗಈԽͷखॱ खݩͷ࡞ۀΛ... ཧͯ͠ίϚϯυϥΠϯԽ CIͳͲͰ࣮ߦ͢Δ
λεΫ࣮ߦڥͱͯ͠ͷBitrise • ϫʔΫϑϩʔͱτϦΨʔͷΈ͕ॊೈͰڧྗ • εέδϡʔϧ࣮ߦ͕ʢ͓ͦΒ͘ʣແݶʹఆٛͰ͖Δ • Web UI͕ศར
λεΫ࣮ߦڥͱͯ͠ͷBitrise • ϩά͕ݟͮΒ͍ • ίϚϯυϥΠϯͰͰ͖Δૢ࡞͕গͳ͍ • ίϛοτ୯ҐͰ࣮ߦΛεΩοϓ͠ʹ͍͘
Bitriseͷόϥϯεͷ͍͍ར༻ͷίπ • ϒϥϯνͱϫʔΫϑϩʔΛ໊લϧʔϧͰϚοϐϯά͢Δͱศར • ࣮ߦͷίετ͕͍҆ͷͰࣦഊΛؾʹͤͣʹϦτϥΠͰϦΧόʔ͢Δ • σόοάେมͳͷͰૉʹ࣮ߦ͞ΕΔΑ͏ʹ͢Δ • όϦΤʔγϣϯτϦΨʔͱϒϥϯνͷΈ߹ΘͤͰ࣮ݱ͢Δ
GitHubΛத৺ͱ͢ΔࣗಈԽͷγεςϜ • τϦΨʔͱͯ͠ͷPR • ςετڥͱͯ͠ͷϒϥϯν • λεΫͷมߋཧ • ࣮ߦ݁Ռͷอଘɾཧ •
ϑΝΠϧஔ͖ͱͯ͠ͷGitHub • Ծ࣮ߦڥͱͯ͠ͷCI
• deliver • deliver-internal • deliver-external • nightly-build • update-license-plist
• refresh-dSYMs • test • sync-bitrise-yml • renew-build-cache • update-dependencies • update-tools • nightly-tests App Store Connect/Fabricͷ৴ masterͰϑϧϏϧυ͢Δ ͯ͢ͷςετΛ࣮ߦ OSSͷϥΠηϯεใͷߋ৽ dSYMͷΞοϓϩʔυ PR͝ͱͷςετ Bitrise.ymlͷμϯϩʔυ ϥΠϒϥϦͷࣗಈߋ৽ πʔϧͷࣗಈߋ৽ ϏϧυΩϟογϡͷΫϦʔχϯά
• deliver • deliver-internal • deliver-external • nightly-build • update-license-plist
• refresh-dSYMs • test • sync-bitrise-yml • renew-build-cache • update-dependencies • update-tools • nightly-tests App Store Connect/Fabricͷ৴ masterͰϑϧϏϧυ͢Δ ͯ͢ͷςετΛ࣮ߦ OSSͷϥΠηϯεใͷߋ৽ dSYMͷΞοϓϩʔυ PR͝ͱͷςετ Bitrise.ymlͷμϯϩʔυ ϥΠϒϥϦͷࣗಈߋ৽ πʔϧͷࣗಈߋ৽ ϏϧυΩϟογϡͷΫϦʔχϯά Ϗϧυڥͷ҆ఆԽ ϦϦʔε͕τϥοΩϯάՄೳ ୭ͰɾͲ͜Ͱɾ͍ͭͰϦϦʔεՄೳ Ϗϧυڥ as a code Ϗϧυʹඞཁͳͷ Ϗϧυखॱ ґଘؔ ෆ۩߹͕ग़ͨͱ͖ͷௐࠪ ڥͷมߋͷτϥοΩϯά
ϏϧυɾςετͷࣗಈԽ $ brew update $ brew reinstall "carthage" $ bundle
install --path=vendor/bundle --binstubs=vendor/bin $ bundle exec fastlane download_build_cache $ Scripts/build_carthage $ Scripts/build_pods $ bundle exec fastlane folio_tests $ set -o pipefail && xcodebuild test -workspace Folio.xcworkspace -scheme Folio-Release-Staging -destination 'name=iPhone X,OS=11.4' -only-testing:FolioTests -derivedDataPath DerivedData -enableCodeCoverage YES ENABLE_TESTABILITY=YES | xcpretty
ϦϦʔεϏϧυɾ৴ͷࣗಈԽ $ brew update $ brew reinstall "carthage" $ bundle
install --path=vendor/bundle --binstubs=vendor/bin $ bundle exec fastlane download_build_cache $ Scripts/build_carthage $ Scripts/build_pods $ bundle exec fastlane folio_tests $ set -o pipefail && xcodebuild test -workspace Folio.xcworkspace -scheme Folio-Release-Staging -destination 'name=iPhone X,OS=11.4' -only-testing:FolioTests -derivedDataPath DerivedData -enableCodeCoverage YES ENABLE_TESTABILITY=YES | xcpretty
ɹϥΠϒϥϦͷࣗಈߋ৽
OpenAPI (Swagger)ͷࣗಈੜ
OpenAPI (Swagger)ͷࣗಈੜ
Bitrise.ymlͷಉظ
ɹϥΠϒϥϦͷϏϧυͱΩϟογϡ
ɹϥΠϒϥϦͷϏϧυͱΩϟογϡ
ΫϦʔϯͳԾڥͱͯ͠ͷBitrise
·ͱΊ • λεΫΛίʔυͰදݱ͢Δ͜ͱͰϨόϨοδ͕ޮ͘ • BitriseΛ͏߹ɺGitHubΛτϦΨʔ࣮ߦͷίϯτϩʔϧͱͯ͠͏ ͱόϥϯε͕͍͍ • BitriseΫϦʔϯͳϏϧυڥͱͯ͠ར༻Ͱ͖ΔʢAlt Dockerʁʣ •
ࣗಈԽΛಥ͖٧ΊΔͱখ͞ͳίετͰେ͖ͳϝϦοτ͕ಘΒΕΔ
Reference https://blog.kishikawakatsumi.com/entry/2019/06/19/160150