When comparing Semaphore CI vs Codeship, the Slant community recommends Codeship for most people. In the question“What are the best continuous integration tools?” Codeship is ranked 3rd while Semaphore CI is ranked 10th. The most important reason people chose Codeship is:
Support for public and private GitHub and BitBucket repositories. It also has support for multi-user teams.
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 GitHub & Bitbucket integration
Support for public and private GitHub and BitBucket repositories. It also has support for multi-user teams.
Pro Keeps it simple. Doesn't allow too many "tricky" things which means builds are generally very stable once they are up and going.
Pro Headless browser support
Alongside latest Chrome and Firefox, Codeship supports the use of Selenium, PhantomJS, CasperJS as well as tools like Capybara.
Pro Build status GIF
There's a continuously updated GIF of the build status of the repository allowing you to determine whether build was successful or not.
Pro Support for multiple tools, languages and databases
Support for e-mail, HipChat, Slack, Campfire, Flowdock, Grove, Webhook, Github Status API.
Support for Ruby, Python, Node, Dart, PHP, Java, Scala, Groovy, Clojure, Go.
Support for: PostgreSQL, MySQL, MongoDB, Redis, Memcached, ElasticSearch, SQLite.
Pro Supports 7 cloud providers
Support for AWS, Digital Ocean, Rackspace, Google Compute, Joyent, Softlayer, Openstack.
Pro Docker support
Pro Simple deployments with a choice of 5 deployment tools
Support for Capistrano, Fabric, Chef, Puppet, Ansible and allows for writing your own scripts to deploy and manage your infrastructure.
Pro Supports 10 hosting providers
Support for Heroku, Engine Yard, Nodejitsu, dotCloud, App Engine, AppFog, Modulus, Openshift, Cloud Foundry, Fortrabbit and you can also run your own script to deploy anywhere.
Pro FTP, SFTP, SCP, RSYNC and SSH support
You can use FTP, SFTP, SCP, RSYNC and SSH for Continuous Deployment.
Pro Code Climate & Coveralls support
Automated code review for RoR and JavaScript and test coverage history and statistics with Code Climate and Coveralls.
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 Doesn't support git modules
If repo contain private submodule - build will fail, no way to add your private key.
Con Any time you ask support for help on Codeship basic (which isn't free anyway), they will just try to up sell you to Pro version.
Con No Global variables that can be shared amongst all projects.
Con Environment variables are exposed. Any keys or secrets can just be copied.
No option to mask them unless you reduce permissions for those users. Developers need to be able to modify a job but probably shouldn't be able to copy a production api key. Just needs one more level of permissions here.
Con Too many permissions on Bitbucket
When registering with Bitbucket Codeship it requests way to many permissions, even "Read and write to your team's projects and move repositories between them". Before giving all these permissions you have to be sure you can trust this service.