When comparing GitLab CI vs AWS CodeBuild, the Slant community recommends GitLab CI for most people. In the question“What are the best hosted continuous integration services?” GitLab CI is ranked 6th while AWS CodeBuild is ranked 25th. The most important reason people chose GitLab CI is:
All build setup are stored in .gitlab-ci.yml file, which is versioned and stored in the project. Like Travis do.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro File based configuration
All build setup are stored in .gitlab-ci.yml file, which is versioned and stored in the project. Like Travis do.
Pro Free and open source
All of GitLab CI's code is open source and under the MIT license.
Pro Parallel builds lessen test times
Tests are parallelized across multiple machines in order to reduce test times considerably.
Pro Docker intergration
Good integration with Docker.
Pro Highly scalable
The tests of GitLab CI run parallel to each other and are distributed on different machines. Developers can add as many machines as they want or need, making GitLab CI highly scalable to the development team's needs.
Pro Quick setup for projects hosted on GitLab
Since it uses the GitLab API for setting up hooks, the setup of GitLab CI for projects hosted on GitLab can be done in one click.
Pro Kubernetes integration
Easy to test and deploy on Kubernetes.
Pro Security
Scoped down IAM service roles and managed policies. AWS CloudTrail intergation for API access tracking. AWS Config integration for enforcing complaince rules. Native support for Parameter Store for storing/passing secrets securely to build container.
Pro GitHub cloud, GitHub Enterprise and Bitbucket cloud support
Native support for AWS CodeCommit, S3 and popular git repositories, except GitLab and Bitbucket server.
Pro Compliance
CodeBuild is compliant for PCI, ISO, SOC, and HIPAA workloads.
Pro Documentation and support
Pretty thorough documentation and troubelshooting steps in the CodeBuild user guide @ https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html.
Questions on the service forum mostly gets prompt response @ https://forums.aws.amazon.com/forum.jspa?forumID=230
Pro Availability
Had minimal to no issues with the service being available. Also, being an AWS service, it has regional endpoint across various AWS regions.
Pro Amazon VPC integration
CodeBuild can access resources within a VPC from it's build containers. Useful for customers who have resources in an Amazon VPC, like RDS instance, ElastiCache, GitHub Enterprise source repo, artifact repo, etc.
Pro On-demand CI. Zero queueing
Users get 20 or so concurrent builds per AWS account ID. Build start up within seconds with no queueing.
Pro Windows support
Support for .NET builds using windowsservercore Docker containers. Preconfigured image have .NET Core and several other runtimes like Java, Node, Ruby. Supports custom images for proprietary tooling like full Visual Studio build targets.
Cons
Con Not lightweight
Not a lightweight solution, demanding and memory hungry.
Con Cost
Larger projects will need upgraded version
Con Security risks
Con Windows not supported
No Windows support, but it's possible to use a Bitnami stack.
Con No iOS support
Limited to Linux and Windows builds.
Con No support for GitLab and Bitbucket server
Off the popular git based source control management system, Bitbucket server and GitLab cloud/on-prem is missing. Generic git support is also not available.
Con No support for Docker layer caching
Customer managed images may be slower for a cold startup than CodeBuild managed ones.
Con No unlimited free builds for Open source repo
CodeBuild gives 100 free mins every month, but no unlimited free builds for Open source repository like Travis CI for example.
