1.5Choosing a Platform
For most teams, the choice is simple: use what integrates with your source control. If your code is on GitHub, use GitHub Actions. If it is on GitLab, use GitLab CI. The friction of using a separate CI platform (e.g., Jenkins with GitHub) rarely justifies the benefits.
Choose Jenkins when:
- You need complex, highly customized pipelines with plugins for niche tools
- You have a dedicated DevOps team to maintain the Jenkins infrastructure
- Your organization already has a mature Jenkins setup
Choose CircleCI when:
- You need the absolute fastest execution times
- Your team uses multiple source control platforms
- You want orbs (reusable pipeline packages) to reduce boilerplate
Pro Tip: Do not agonize over the platform choice. The concepts in this book -- triggers, caching, parallelization, quality gates -- work on every platform. Pick one and go deep. You can switch later; the knowledge transfers.
Common Mistake: Choosing a platform based on feature lists rather than integration with your existing tools. A platform that does not integrate tightly with your source control adds friction to every pull request, and that friction compounds into wasted hours every week.
Exercises
Beginner
- Create a free GitHub account if you do not already have one. Create a new repository with a simple README file. Navigate to the Actions tab and observe the suggested starter workflows.
- Write down the five trigger types covered in this chapter and give a real-world example of when you would use each one.
Intermediate 3. Research the pricing model for GitHub Actions, GitLab CI, and CircleCI. Calculate how many pipeline minutes per month your team would need based on your current commit frequency and average pipeline duration. 4. Set up a self-hosted runner on your local machine for a GitHub repository. Run a simple workflow on it and observe the differences from a hosted runner.
Advanced 5. Design a decision matrix for choosing a CI/CD platform for a new project. Include criteria such as: source control integration, cost at scale, self-hosted runner support, marketplace/plugin ecosystem, secret management, and compliance features. Score each platform against your criteria.