When comparing Semaphore CI vs AWS CodeBuild, the Slant community recommends Semaphore CI for most people. In the question“What are the best hosted continuous integration services?” Semaphore CI is ranked 7th while AWS CodeBuild is ranked 25th. The most important reason people chose Semaphore CI is:
Whenever a new push is made on GitHub or Bitbucket, Semaphore automatically runs tests on that branch.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Automatic Testing
Whenever a new push is made on GitHub or Bitbucket, Semaphore automatically runs tests on that branch.
Pro Free for open source
Semaphore supports open source and offers unlimited open source projects.
Pro Complete customer support
Semaphore offers all-around customer support for its commercial users.
Pro Free 100 builds per month for private projects
Semaphore offers 100 builds every month for private projects. This package is free for an unlimited time and offers: free & unlimited deploys, unlimited collaborators and running tests in parallel.
Pro GitHub integration
Projects can be imported from GitHub and Semaphore will automatically connect with that repository, once that's done, it will automatically trigger for every code commit.
Pro Docker support
Out of the box Docker support. Additionally, Semaphore can cache Docker images by using included docker-cache commands.
Pro Easy to configure
Semaphore is quite easy to configure and work with. It easily integrates with GitHub and a first build is only a few clicks away.
Semaphore is configured using .yaml configuration files which can be added from the web UI. There are a lot of tutorials out there that help developers configure Semaphore to their preference.
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 Proprietary with private project for $30/month
Semaphore is not free and nor is it open source. Pricing starts at $29 per month. However, there is a free option for private projects which have less than 100 builds per month and it's free for open source projects.
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.