From "Setting up GitLab CI/CD for Android projects"
Continuous Integration usually refers to integrating, building, and testing code within the development environment. Continuous Delivery builds on this, dealing with the final stages required for production deployment.
- Martin Fowler on continuous delivery, 2013
Continuous Delivery is sometimes confused with Continuous Deployment. Continuous Deployment means that every change goes through the pipeline and automatically gets put into production, resulting in many production deployments every day. Continuous Delivery just means that you are able to do frequent deployments but may choose not to do it, usually due to businesses preferring a slower rate of deployment. In order to do Continuous Deployment you must be doing Continuous Delivery.
- Martin Fowler on continuous delivery, 2013
Feature | GitLab | CircleCI | Azure DevOps | Jenkins | Travis CI | Bitbucket |
---|---|---|---|---|---|---|
Auto-scaling | Y | Y | N | Integration | Y | Y |
Pipeline graphs | Y | Y | Y | Integration | N | Integration |
Parallel jobs | Y | Y | Y | Y | Y | Y |
Config as Code | Y | Y | Y | Y | Y | Y |
Native Docker support | Y | Y | Y | Integration | Y | Y |
Feature | GitLab | CircleCI | Azure DevOps | Jenkins | Travis CI | Bitbucket |
---|---|---|---|---|---|---|
Environments | Y | N | Y | N | Y | Y |
Env History | Y | N | N | N | N | Y |
No Conf staging apps | Y | N | N | N | Y | N |
Deploy boards | Y | N | Y | Integration | Y | N |
Native Canary Deploy | Y | N | Y | N | Y | N |
Secure variables | Y | N | Y | Integration | N | Y |
Deploy tracability | Y | N | Y | Integration | Y | Y |
Protected Envs | Y | N | Y | N | N | Y |
Native Kubernetes support | Y | N | Y | Integration | N | N |
Native Feature flags | Y | N | N | N | N | N |
Feature | GitLab | Spinnaker | Azure DevOps | XebiaLabs | ElectricFlow | CodeFresh |
---|---|---|---|---|---|---|
Environments | Y | - | Y | - | Y | - |
Env History | Y | - | N | - | Y | - |
No Conf staging apps | Y | - | N | - | N | - |
Deploy boards | Y | - | Y | - | Y | - |
Native Canary Deploy | Y | - | Y | - | Y | - |
Secure variables | Y | - | Y | - | Y | - |
Deploy tracability | Y | - | Y | - | Y | - |
Protected Envs | Y | - | Y | - | Y | - |
Native Kubernetes support | Y | - | Y | - | N | - |
Native Feature flags | Y | - | N | - | N | - |