Pro iOS Continuous Integration - Romain Pouclet.pdf
(
8505 KB
)
Pobierz
Implement continuous integration and delivery in your iOS projects
iOS Continuous
Integration
Romain Pouclet
Pro
For your convenience Apress has placed some of the front
matter material after the index. Please use the Bookmarks
and Contents at a Glance links to access them.
Contents at a Glance
About the Author ...............................................................................................................xiii
About the Technical Reviewers ..........................................................................................
xv
Acknowledgments ............................................................................................................
xvii
Introduction .......................................................................................................................
xix
Chapter 1: Introduction to Continuous Integration ............................................................1
Chapter 2: Continuous integration features in iOS and Xcode...........................................5
Chapter 3: Using Xcode to Release an Application Outside the App Store ......................29
Chapter 4: Invoking the Power of the Command Line .....................................................41
Chapter 5: Automatic Builds with Jenkins ......................................................................67
Chapter 6: Automated builds with Bamboo .....................................................................93
Chapter 7: Over-The-Air distribution .............................................................................117
Chapter 8: Day-to-day use of Xcode bots ......................................................................141
Chapter 9: Adding Unit testing to the mix .....................................................................161
Chapter 10: Quality assurance ......................................................................................183
Index .................................................................................................................................197
v
Introduction
There are as many definitions of Continuous integration as there is programming language out there,
probably more. All of these opinionated definitions have been discussed all over the Internet: what it
is, how it can help, which tools to use… Only a few of them are complete, exhaustive guides about
where to start and where to go, let alone in the iOS ecosystem. In all fairness, the iOS platform is still
relatively new.
Because you have to learn how to walk before you can run, this book will give you a tour of the iOS
ecosystem from a developer point of view. If you’re interested in reading this book, you probably
already have spent a few hours in front of Xcode, but do you know that it will make your life a lot
easier with automated testing and versioning? Did you know that you could easily use multiple
versions of Xcode? Even more importantly, do you know how it works under the hood? That’s the
kind of thing this book will teach you.
Continuous integration is a matter of deciding of the best workflow and choosing the right tools.
We didn’t want to sound as if you should take our opinion as a work of gospel, so we chose to give you
all the knowledge you need before covering two different continuous integration platforms, Jenkins
and Bamboo. We’ll show you how to get started as quickly as possible and how to take a sample
application, build it, test it, and finally release it to your testers. Once we’ll have covered how these
third party tools, we’ll cover the OS X Server and the Xcode, which are official tools provided by
Apple. Far from being perfect, they provide enough neat advantages to give all those non-official
alternatives a scare.
For all those solutions, we’ll show you how to integrate tools to run your automated tests and
analyze your code, making sure you’re spending all this time to automate the workflow of an
application that is well coded and works has expected.
In the end, it will be up to you to decide which tool suits you and your company best.
xix
Chapter
1
Introduction to Continuous
Integration
In the world of software engineering, the more time that passes the bigger your software usually
becomes. It may be because your application is a huge, full-featured tool that does a lot of things or
it may be simply because your code has become more and more complex. At this point, you have to
start making decisions and choosing the tools you will use and the principles you will follow to make
your life easier. The sole purpose of continuous integration is exactly that - making your life easier.
You may be reading this book because you’re an independent software engineer or leading a team
of iOS developers. We will help you find the tools you need and teach you how to make them fit in
your day-to-day workflow.
What is Continuous Integration?
Continuous integration is a software engineering principle with a very self-explanatory name. During
the life cycle of a project, you will be continuously integrating small pieces of software into your
project. Then, as the project grows, you’ll need to make sure these pieces actually fit the way they
are supposed to. It may sound like a very metaphoric way of saying you will merge branches using
your favorite version control system, but that’s actually what happens - no matter which tool you will
be using or how often you will be integrating code.
The principle of continuous integration is never far from the concept of “automated testing” and
“Software Quality Assurance” (SQA). Indeed, integrating pieces of software is one thing, but making
sure they fit - meaning they don’t break your software, respect your coding conventions, or hurt the
final product in any way - is a whole other thing.
1
Plik z chomika:
jonedave3
Inne pliki z tego folderu:
Paula Deen Celebrates! - Paula Deen.epub
(14603 KB)
Pacific Northwests Best Trips 3.epub
(92587 KB)
P. G. Bell - The Train to Impossible Places.epub
(19719 KB)
P. R. Halmos - A Hilbert Space Problem Book (1974) [978-1-4615-9976-0].pdf
(26003 KB)
P Finnigan - Oracle Incident Response and Forensics.pdf
(2399 KB)
Inne foldery tego chomika:
@other-lang
@packed
0
1
2-1
Zgłoś jeśli
naruszono regulamin