In this video, Mark DiFranco introduces continuous integration as a process to facilitate working on a project with a team. Then, learn about CI servers and how they can help with this process.
- [Instructor] Most modern iOS projects are built using source control, such as Git. Source control allows a team of developers to simultaneously work on the same project and handle conflicts between each of their projects. When a developer begins work on a new feature, she creates a new branch based on the branch containing the latest version of the code, commonly called the master branch. As the developer is working on the feature, her coworkers are continuously adding code to the master branch. The more this continues, the more her feature branch gets outdated. This increases the risk of build issues and regressions when merging the branch back to master.
If the project was automatically built any time it changed, problems would be found sooner and less developer time would be wasted. This is what prompts the practice of continuous integration. By integrating branches with master more often, it is possible to maintain the health and stability of the project. This process is usually facilitated by a CI server, which stands for continuous integration server, which automatically builds the project and runs tests. The benefits will be quickly apparent. GitHub, the popular Git repository hosting server, makes continuous integration easy to implement.
A merge branch is created whenever a pull request is opened. This branch is the result of merging your feature branch into master so you can get a glimpse of what your project will look like. This branch can be used by the CI server to ensure that your project will build after the merge.
- What is continuous integration?
- Setting up Xcode Server
- Creating a bot for your project
- Monitoring your bot
- Using Xcode Server API
- Starting a new integration
- Downloading build artifacts