Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
レバレッジ効果をもたらす自動化のコツ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
Accessibility APIでテキストの内容、位置、サイズを取得する実装パターン
kishikawakatsumi
0
98
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
350
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
210
Running Swift without an OS
kishikawakatsumi
0
1.2k
浮動小数の比較について
kishikawakatsumi
0
650
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
280
愛される翻訳の秘訣
kishikawakatsumi
3
510
Private APIの呼び出し方
kishikawakatsumi
3
1.1k
iOSでSVG画像を扱う
kishikawakatsumi
0
280
Other Decks in Programming
See All in Programming
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
200
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
180
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
130
Jetpack Compose Mechanisms
skydoves
3
870
気持ちぃ〜角丸 Squircle
ryu1013
0
340
Next.js: The final boss of Web Performance
guaca
0
340
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
170
パスワード再設定メールのURLについて知っておこう
uyuki234
0
190
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
110
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.4k
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
190
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
130
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
GitHub's CSS Performance
jonrohan
1033
470k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
The Language of Interfaces
destraynor
162
27k
WENDY [Excerpt]
tessaabrams
14
40k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Color Theory Basics | Prateek | Gurzu
gurzu
1
500
Writing Fast Ruby
sferik
630
63k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
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