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
Travis iOS
Search
Oursky Limited
June 30, 2014
Programming
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Travis iOS
Oursky Limited
June 30, 2014
More Decks by Oursky Limited
See All by Oursky Limited
UI Automation
oursky
1
560
SSH Can
oursky
1
350
HTTP/2
oursky
0
390
watchOS2
oursky
0
380
Common QA issues
oursky
0
250
Complex is better than complicated
oursky
0
320
Clean code again
oursky
3
420
KiriKiri x O2 x NVLMarker
oursky
0
280
Flux + React
oursky
1
420
Other Decks in Programming
See All in Programming
自分的「カンファレンスの楽しみ方」
syumai
0
200
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
260
フロントエンドUIフレームワークのこれまでとこれから
ssssota
1
800
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
640
typoなんかねぇよ
raspython3
0
670
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
180
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
130
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
180
Foundry Localでエージェント開発
seosoft
0
150
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
270
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
LLMは4年分のCompose移行を再現できるのか?実プロダクト279件のXMLで探る自動化の境界線
makun
0
440
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
sira's awesome portfolio website redesign presentation
elsirapls
0
410
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Crafting Experiences
bethany
1
310
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
ラッコキーワード サービス紹介資料
rakko
1
4.8M
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Facilitating Awesome Meetings
lara
57
7.1k
A Soul's Torment
seathinner
7
3.6k
Transcript
Continuous Integration iOS on Travis
The idea • Atomic commits • Automated, test, build and
delivery • One version, aka. no branching
Actual steps • Write Test • Write Code • Push
- Github • Automated Test - Travis-CI • Automated distribution - TestFlight
Test in general • Input <—> Output Checking • Function
<—> State Checking • Actions <—> Behaviour Checking
Test in Xcode • XCTest automatically include since Xcode5 •
Press ⌘+U • xcodebuild • xctool - facebook xcodebuild with pretty print
Travis.yml language: objective-c script: - xctool test -workspace asosnewin.xcworkspace -scheme
asosnewin -sdk iphonesimulator7.0 ONLY_ACTIVE_ARCH=NO
Build,Sign and distribute • xctool -workspace asosnewin.xcworkspace -scheme asosnewin -sdk
iphoneos7.1 -configuration Release OBJROOT=$PWD/build SYMROOT=$PWD/build ONLY_ACTIVE_ARCH=NO • xcrun -log -sdk iphoneos PackageApplication "$APP_NAME.app" -o "$APP_NAME.ipa" -sign "$DEVELOPER_NAME" -embed "$PROVISIONING_PROFILE" • curl http://testflightapp.com/api/builds.json -F file="@$APP_NAME.ipa"
Setup Env on Travis • travis encrypt "APP_NAME=GIFCAM" —add •
Keys • Encrypt with openssl aes-256-cbc and checkin into github • decrypt the key and do security import on travis
Reference • http://www.objc.io/issue-6/travis-ci.html • http://martinfowler.com/articles/ mocksArentStubs.html • https://developer.apple.com/library/ios/ documentation/ToolsLanguages/Conceptual/ Xcode_Overview/UnitTestYourApp/
UnitTestYourApp.html