When comparing Codeship vs TFS, the Slant community recommends Codeship for most people. In the question“What are the best continuous integration tools?” Codeship is ranked 3rd while TFS is ranked 26th. 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 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.
Pro Concurrent
TFS contains very few locks and aims to be as suitable for multithreaded
systems as possible. It makes use of multiple truly concurrent structures
to manage the data, and scales linearly by the number of cores. This is
perhaps the most important feature of TFS.
Pro Usable in other systems
It was never planned to be Redox-only.
Pro Revision history
TFS stores a revision history of every file without imposing extra
overhead. This means that you can revert any file into an earlier version,
backing up the system automatically and without imposed overhead from
copying.
Pro Data integrity
TFS, like ZFS, stores full checksums of the file (not just metadata), and
on top of that, it is done in the parent block. That means that almost all
data corruption will be detected upon read.
Pro Copy-on-write semantics
Similarly to Btrfs and ZFS, TFS uses CoW semantics, meaning that no cluster
is ever overwritten directly, but instead it is copied and written to a new
cluster.
Pro O(1) recursive copies
Like some other file systems, TFS can do recursive copies in constant time,
but there is an unique addition: TFS doesn't copy even after it is mutated.
How? It maintains segments of the file individually, such that only the
updated segment needs copying.
Pro Guaranteed atomicity
The system will never enter an inconsistent state (unless there is hardware
failure), meaning that unexpected power-off won't ever damage the system.
Pro Improved caching
TFS puts a lot of effort into caching the disk to speed up disk accesses.
It uses machine learning to learn patterns and predict future uses to
reduce the number of cache misses. TFS also compresses the in-memory cache,
reducing the amount of memory needed.
Pro Better file monitoring
CoW is very suitable for high-performance, scalable file monitoring, but
unfortunately only few file systems incorporate that. TFS is one of those.
Pro All memory safe
TFS uses only components written in Rust. As such, memory unsafety is only
possible in code marked unsafe, which is checked extra carefully.
Pro Full coverage testing
TFS aims to be full coverage with respect to testing. This gives relatively
strong guarantees on correctness by instantly revealing large classes of
bugs.
Pro Improved garbage collection
TFS uses Bloom filters for space-efficient and fast garbage collection. TFS
allows the FS garbage collector to run in the background without blocking
the rest of the file system.
Pro SSD friendly
TFS tries to avoid the write limitation in SSD by repositioning dead sectors.
Pro Full-disk compression
TFS is the first file system to incorporate complete full-disk compression
through a scheme we call RACC (random-access cluster compression). This
means that every cluster is compressed only affecting performance slightly.
It is estimated that you get 60-120% more usable space.
Pro Asynchronous
TFS is asynchronous: operations can happen independently; writes and
reads from the disk need not block.
Cons
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.
Con Not ready for use
While many components are complete, TFS itself is not ready for use.
