When comparing Shippable vs AWS CodeBuild, the Slant community recommends Shippable for most people. In the question“What are the best hosted continuous integration services?” Shippable is ranked 2nd while AWS CodeBuild is ranked 25th. The most important reason people chose Shippable is:
The fact that Shippable runs inside of Docker means that it keeps a persistent state and every build will not have to revert to initial state where it needs to install every dependency from the ground up. Classic CI tools that run on virtual machines need to reset their environment every time and every time install the gems, packages and services needed.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Builds are faster
The fact that Shippable runs inside of Docker means that it keeps a persistent state and every build will not have to revert to initial state where it needs to install every dependency from the ground up. Classic CI tools that run on virtual machines need to reset their environment every time and every time install the gems, packages and services needed.
Pro GitHub and Bitbucket integration
Shippable supports both BitBucket and GitHub. Repositories uploaded on either of those services can be built using Shippable.
Pro Free plan available
Unlimited builds for unlimited public repos and up to 5 private repositories.
Pro Docker integration
Shippable is built using Docker, a popular open source Linux container. It was originally built using it's own container but when that started to become too complex, they switched to using Docker. Since the beginning Shippable was different from other CI tools because while Shippable uses a container (Docker), traditionally CI tools have used virtual machines to manage their workloads.
Pro Quick setup
All Shippable needs for it's setup is a shippable.yml
file in the root of the repository that needs to be built. The bare minimum Shippable needs is the language and the version number specified in that file.
Pro Integrated code coverage and test results visualization
No need to use coveralls or any other tool for code coverage visualization. Code coverage and test results are integrated into the product.
Pro Build as Code
Builds are described in the shippable.yml file located in the root of your project. This empowers engineers to take responsibility for code delivery. If you are coming from Travis CI, Shippable reads your .travis.yml file directly so you can try it out painlessly.
Pro Build on your own host
Teams can set up Docker containers on their own servers and run Shippable in there.
Pro Supports monitoring and tracking utilization and system performance for your devops automation infrastructure
Pro Cheaper than competitors
Plans are significantly cheaper than competitors.
Pro Testing against multiple runtimes, versions and environments
Supports builds against multiple runtimes, environment variables, and platforms.
Pro 2X faster than any other platform
The accuracy & speed is 2x more compared to all the other available CI & CD platforms.
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 Requires way to much permissions when logging in using Bitbucket
It even requests the permission to "Delete your repositories".
Con No Direct Deploy to S3
Currently, Shippable does not allow for build artifacts to be natively deployed to S3. This can be gotten around, however it is a rather large hole when compared to Travis.
In order to deploy to S3 you have to add a couple of lines to the yml file. For example:
env:
global:
#secure variable contains values for AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
- secure: HKwYujx/qmsyQQdHvR2myu8HLUDtcLeDyYV149YJuxIV4J7Hk3SxeY8X3D6aTlR8mvMnd/ZFY+tGNUh4G0xtLLjjZcPsBgvFlB
build:
on_success:
- aws s3 sync $SHIPPABLE_BUILD_DIR "s3://bucket_name" --region "us-east-1"
Con Docker security measures may be a hindrance
Shippable runs inside Docker containers. Docker has some specific security measures which may or may not become a hindrance in using Shippable. It may be harder for users who are not very comfortable with a Linux container environment and that can create some security problems. Even for more advanced users, it's still something more that they have to address while using Shippable.
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.
