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
Deploying UI library on Travis CI
Search
giginet
PRO
November 18, 2016
Programming
8.1k
1
Share
Deploying UI library on Travis CI
Deploy your UI library onto Appetize.io via Travis CI
giginet
PRO
November 18, 2016
More Decks by giginet
See All by giginet
🀄️ on swiftc
giginet
PRO
0
320
15年メンテしてきたdotfilesから開発トレンドを振り返る 2011 - 2026
giginet
PRO
2
300
Claude Codeログ基盤の構築
giginet
PRO
7
3.9k
Inside of Swift Export
giginet
PRO
1
2.2k
Swiftビルド弾丸ツアー - Swift Buildが作る新しいエコシステム
giginet
PRO
0
2.6k
SwiftでMCPサーバーを作ろう!
giginet
PRO
3
410
Creating Intuitive Developer Tool in Swift
giginet
PRO
0
1.5k
Mergeable Libraryで 高速なアプリ起動を実現しよう!
giginet
PRO
2
7k
5分でわかるExplicitly Built Modules
giginet
PRO
2
1.8k
Other Decks in Programming
See All in Programming
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
230
How Swift's Type System Guides AI Agents
koher
0
190
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
270
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
140
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
540
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
310
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
850
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
420
Nuxt Server Components
wattanx
0
260
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
6k
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
120
感情を設計する
ichimichi
5
1.3k
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
250
Scaling GitHub
holman
464
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
790
My Coaching Mixtape
mlcsv
0
96
Measuring & Analyzing Core Web Vitals
bluesmoon
9
800
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1k
Paper Plane (Part 1)
katiecoart
PRO
0
6.5k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
Transcript
Deploying UI library on Travis CI @giginet
@giginet • iOS Engineer @ Cookpad • ։ൃج൫ͬͯ·͢ • झຯɿήʔϜ։ൃ
ࠓ • fastlaneͱTravis CIͰUIϥΠϒϥϦͷσϞΞϓ ϦΛࣗಈσϓϩΠ͢Δ
None
appetize.io • ϒϥβ্ͰiOSγϛϡϨʔλʔىಈͰ͖Δ ͭ
None
None
None
None
None
None
desc "Deploy demo application to Appetize.io" lane :deploy_to_appetize do base_build_dir
= File.expand_path('build') xcodebuild(project: "#{project_name}.xcodeproj", scheme: scheme_name, xcargs: "CONFIGURATION_BUILD_DIR=#{base_build_dir}", sdk: 'iphonesimulator') app_path = File.join(base_build_dir, "#{scheme_name}.app") zip_path = File.join(base_build_dir, "#{scheme_name}.app.zip") zip(path: app_path, output_path: zip_path) note = last_git_commit[:message] appetize(path: zip_path, note: note) end appetize Action
desc "Deploy demo application to Appetize.io" lane :deploy_to_appetize do base_build_dir
= File.expand_path('build') xcodebuild(project: "#{project_name}.xcodeproj", scheme: scheme_name, xcargs: "CONFIGURATION_BUILD_DIR=#{base_build_dir}", sdk: 'iphonesimulator') app_path = File.join(base_build_dir, "#{scheme_name}.app") zip_path = File.join(base_build_dir, "#{scheme_name}.app.zip") zip(path: app_path, output_path: zip_path) note = last_git_commit[:message] appetize(path: zip_path, note: note) end appetize Action
desc "Deploy demo application to Appetize.io" lane :deploy_to_appetize do base_build_dir
= File.expand_path('build') xcodebuild(project: "#{project_name}.xcodeproj", scheme: scheme_name, xcargs: "CONFIGURATION_BUILD_DIR=#{base_build_dir}", sdk: 'iphonesimulator') app_path = File.join(base_build_dir, "#{scheme_name}.app") zip_path = File.join(base_build_dir, "#{scheme_name}.app.zip") zip(path: app_path, output_path: zip_path) note = last_git_commit[:message] appetize(path: zip_path, note: note) end appetize Action
desc "Deploy demo application to Appetize.io" lane :deploy_to_appetize do build_and_upload_to_appetize(
xcodebuild: { project: 'Foobar.xcodeproj', scheme: scheme_name, sdk: 'iphonesimulator' } ) end build_and_upload_to_appetize Action
None
travis encrypt travis encrypt APPETIZE_API_TOKEN=super_secret --add env.matrix travis encrypt APPETIZE_PUBLICKEY=super_secret
--add env.matrix
env: global: - LC_CTYPE=en_US.UTF-8 - secure: yKRlKg8ya0pvWnYZ516Tq91Jv6(ry - secure: Xuh1dMd/vkDkech5sjM184te8VV(ry
matrix: include: - os: osx language: objective-c osx_image: xcode8 script: - bundle exec fastlane deploy_to_appetize
None
https://www.cocoacontrols.com
·ͱΊ • UIϥΠϒϥϦΛ࡞ͬͨΒappetize.ioʹ্͛ͯ ͓͘ͱ։ൃऀར༻ऀخ͍͠ • Travis CIͰࣗಈԽ͢Δͱָ • ྑ͍UIϥΠϒϥϦ૿͑ͯཉ͍͠
https://github.com/giginet/ CustomKeyboardTextField
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠