Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
1
8.1k
Deploying UI library on Travis CI
Deploy your UI library onto Appetize.io via Travis CI
giginet
PRO
November 18, 2016
Tweet
Share
More Decks by giginet
See All by giginet
Inside of Swift Export
giginet
PRO
1
620
Swiftビルド弾丸ツアー - Swift Buildが作る新しいエコシステム
giginet
PRO
0
2.2k
SwiftでMCPサーバーを作ろう!
giginet
PRO
3
320
Creating Intuitive Developer Tool in Swift
giginet
PRO
0
1.4k
Mergeable Libraryで 高速なアプリ起動を実現しよう!
giginet
PRO
2
6.2k
5分でわかるExplicitly Built Modules
giginet
PRO
2
1.5k
Introduction for Open Source Swift Workshop
giginet
PRO
0
1.8k
Swift Packageを使った 巨大な依存グラフのキャッシュ戦略
giginet
PRO
5
6.3k
Deep Dive into Mergeable Library
giginet
PRO
1
2k
Other Decks in Programming
See All in Programming
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
4
200
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
210
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
510
React Native New Architecture 移行実践報告
taminif
1
120
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
120
イベントストーミングのはじめかた / Getting Started with Event Storming
nrslib
1
770
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
700
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
190
CSC305 Lecture 14
javiergs
PRO
0
330
Java_プロセスのメモリ監視の落とし穴_NMT_で見抜けない_glibc_キャッシュ問題_.pdf
ntt_dsol_java
0
230
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
330
sbt 2
xuwei_k
0
110
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Writing Fast Ruby
sferik
630
62k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Git: the NoSQL Database
bkeepers
PRO
432
66k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Bash Introduction
62gerente
615
210k
Designing Experiences People Love
moore
142
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Statistics for Hackers
jakevdp
799
230k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Unsuck your backbone
ammeep
671
58k
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
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠