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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
1.4k
Swiftビルド弾丸ツアー - Swift Buildが作る新しいエコシステム
giginet
PRO
0
2.4k
SwiftでMCPサーバーを作ろう!
giginet
PRO
3
350
Creating Intuitive Developer Tool in Swift
giginet
PRO
0
1.5k
Mergeable Libraryで 高速なアプリ起動を実現しよう!
giginet
PRO
2
6.7k
5分でわかるExplicitly Built Modules
giginet
PRO
2
1.7k
Introduction for Open Source Swift Workshop
giginet
PRO
0
1.9k
Swift Packageを使った 巨大な依存グラフのキャッシュ戦略
giginet
PRO
5
6.5k
Deep Dive into Mergeable Library
giginet
PRO
1
2.1k
Other Decks in Programming
See All in Programming
AI巻き込み型コードレビューのススメ
nealle
2
310
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.5k
組織で育むオブザーバビリティ
ryota_hnk
0
180
CSC307 Lecture 03
javiergs
PRO
1
490
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
130
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
130
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
CSC307 Lecture 07
javiergs
PRO
0
550
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.8k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
Git: the NoSQL Database
bkeepers
PRO
432
66k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Scaling GitHub
holman
464
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
Crafting Experiences
bethany
1
49
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
66
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
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
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠