When writing code on your own, the only priority is making it work. However, working in a team of professional software developers brings a plethora of challenges. One of those challenges is coordinating many people working on the same code.
How do professional teams make dozens of changes per day while making sure everyone is coordinated and nothing is broken? Enter continuous integration!
- 1. What Is Continuous Integration?
- 2. Why Should I Care?
- 3. Core Concepts
- 3.1 Single Source Repository
- 3.2 Automating the Build
- 3.3 Automated Testing
- 3.4 Using an External Continuous Integration Service
- 3.5 Testing in a Staging Environment
- 4. Your Turn!
- 4.1 Problem Definition
- 4.2 Create a Repo
- 4.3 Set Up a Working Environment
- 4.4 Write a Simple Python Example
- 4.5 Write Unit Tests
- 4.6 Connect to CircleCI
Our pipeline is very simple and consists of 3 steps:
- Checking out the repository
- Installing the dependencies in a virtual environment
- Running the linter and tests while inside the virtual environment
- 4.7 Make Changes
- 4.8 Notifications
- 5. Next Steps
- 5.1 Git Workflows
- 5.2 Dependency Management and Virtual Environments
- 5.3 Testing
- 5.4 Packaging
- 5.5 Continuous Integration
- 5.6 Continuous Deployment
- 6. Overview of Continuous Integration Services
- 7. Conclusion