CircleCI is a software delivery engine from the company of the same name in San Francisco, that helps teams ship software faster, offering their platform for Continuous Integration and Continuous Delivery (CI/CD). Ultimately, the solution helps to map every source of change for software teams, so they can accelerate innovation and growth.
$0
for up to 6,000 build minutes and up to 5 active users per month
GitHub
Score 9.1 out of 10
N/A
GitHub is a platform that hosts public and private code and provides software development and collaboration tools. Features include version control, issue tracking, code review, team management, syntax highlighting, etc. Personal plans ($0-50), Organizational plans ($0-200), and Enterprise plans are available.
$4
per month per user
Heroku Platform
Score 7.8 out of 10
N/A
The Heroku Platform, now from Salesforce, is a platform-as-a-service based on
a managed container system, with integrated data services and ecosystem for deploying modern apps. It takes an app-centric
approach for software delivery, integrated with developer tools and
workflows. It’s three main tool are: Heroku Developer Experience (DX), Heroku
Operational Experience (OpEx), and Heroku Runtime.
Heroku Developer Experience (DX)
Developers deploy directly from tools like…
Circle was the first CI with simple setup, great documentation, and tight integration with GitHub. Using Jenkins was too much maintenance and overhead, TeamCity was limited in how we could customize it and run concurrent builds, TravisCI was not available for private repos when …
We use CircleCI when we need a good, independent CI/CD provider in an existing workflow. That said, we've begun investing more heavily in GitHub actions as it's closer to where our code is stored. CircleCI is a feature of a workflow, and can be filled by many different service …
Based on the cost for feature set that we needed we went with CircleCI. There were also more people on our team that knew how to use CircleCI already compared to other products which made it a preferred choice for ramp up. Other products were not as robust and quick to …
CircleCI is a sass product which means you don't need to maintain your own servers. This can also be a negative as you are dependent on their service. This also means you can't ssh into a machine to see what went wrong like you can with Jenkins. However for most users this …
While the UI on CircleCI is not my favorite, it's leagues better than Travis CI. I really like Heroku CI much better, but the functionality is much more limited there. If Heroku CI had the same functionality as CircleCI, I probably wouldn't use CircleCI.
Jenkins is usually self-hosted, Travis CI's infrastructure is largely unreliable (lots of tests time out for no discernable reason), and Semaphore encourages you to configure your CI/CD from a web UI. We like CircleCI because its hosted, our tests run largely as expected on …
It was our CTO who did the evaluation, not me, but as I recall other services weren't as parallelizable. We knew we wanted to run on many containers simultaneously for fast test results.
For us it really came down to CricleCI being the fastest and simples tool to get started with. The GitHub integration is slick and seamless and the scripting config file allowed us to configure our entire build system, including tests, in less than a day. It's very light weight …
Travis has full YML configuration in areas where CircleCI is slightly lacking still, which is great, but CircleCI offers more features, settings, and potential performance.
Codeship is simpler to use, you can use it entirely from their UI without modifying your Git repository at …
The biggest downside to CircleCI is that it doesn't support parameterized builds, that is testing your code against language version X and Y, or framework version A and B. Beyond that, it is really a great product.
I had used Travis CI in some of my open source projects. However, it was too expensive for us so I looked for an alternative that was in our budget. Scrutinizer is also very useful, but also out of our budget. When we get larger I could see myself using Scrutinizer for quality …
I think these three tools are just as good as the other except that Travis CI supports mobile a lot better but price wise, CircleCI is the best that I have found and is supports the need for a startup. For a long while, CircleCI had Docker support before Codeship but now, Codesh…
Github and git, in general, is much better than SVN or Subversion for version tracking and code collaboration. It takes the best parts of SVN and fixes a lot of what was broken with it. Github's own UI has evolved really well over time and they have taken developer productivity …
We picked GitHub because it's what I was most familiar with when we started. We're testing out self-hosted Gitlab because it not only handles all the features we're using on GitHub, but it also has a continuous integration service which is currently implemented by a third party …
Github is the clear industry leader in collaborative software development -- we use it because it has superior tooling, integrations with third parties, and hosts a lot of the open source code that we use every day. Bitbucket is a better fit for organizations that are deeply …
Bitbucket didn't offer enough of an incentive to switch our current repository. When Microsoft acquired GitHub, we started looking at other alternatives, and decided to stay for convenience.
Bitbucket supports Mercurial VCS in addition to Git. Since it is an Atlassian product, Bitbucket is very well integrated with the company's other tools, like JIRA (which is widely used in the development industry), Jenkins, and Bamboo. It offers many of the same features as …
In my opinion, GitHub beats all of the competition.
The other services offer some things that could be considered benefits in some scenarios: Bitbucket has good integration with other Atlassian products, Gitlab is self-hosted and completely free, Beanstalk integrates with some …
Traditional source control and sharing systems are far more limited and have substantially more operational overhead. Any organization housing the servers, and managing the software, for file sharing and source control are spending substantial time and money to do so. Github …
GitHub is the ONLY version control system I've ever used. I used it from day 1 at Dev Bootcamp since they make a pretty big push for all students to learn git as a language and to use GitHub for version control. It is difficult to say how GitHub stacks up against the rest of …
Local storage of your repository is not exactly the safest thing you should do, since if you lost your project, you lose your project. This is not really a great alternative when you are considering it over using some thing you can access from any computer at any time. GitHub …
It's not even close. GitHub is amazing! I couldn't imagine coding anything without using some sort of automated version control. GitHub has never let me down.
Some APIs are specifically developed to be deployed to certain platforms and usually decision which platform to use is not developer's. Another question is deployment cost and pricing model; in specific cases after price comparison Heroku is often selected among other cloud …
Rackspace can provide dedicated hardware, where Heroku can not. When dealing with particular clients or different fields, this can be a deciding factor if this is a requirement.
AWS provides extensive configuration options, providing a more mature infrastructure, with dedicated …
To this day no other PaaS matches Heroku in ease of use and maturity. If you want to stay 100% focused on your unique product/service rather than wasting time on boilerplate hosting issues, I can highly recommend Heroku. I personally use it for all of my own websites …
Heroku is the more expensive option for hosting compared to some of the cloud platforms we investigated, but it's worth it for us because of the plug-and-play nature of Heroku deployment. We can be up and running in a few minutes and know with precision how much it will cost us …
You get much more machine for your money with EC2, but it requires much more time to set up and maintain, at least as it stood two years ago when we stopped using it. We spoke with Engine Yard when selecting Heroku, and they're good folks. They offer much more power and …
Heroku is another layer of abstraction on top of AWS that is targeted toward a very specific use case (building a web app in a limited list of languages). It takes much less configuration and expertise than AWS and is much more robust and scalable than GoDaddy.
Features
CircleCI
GitHub
Heroku Platform
Version Control Software Features
Comparison of Version Control Software Features features of Product A and Product B
CircleCI
-
Ratings
GitHub
9.3
10 Ratings
7% above category average
Heroku Platform
-
Ratings
Branching and Merging
00 Ratings
9.610 Ratings
00 Ratings
Version History
00 Ratings
9.610 Ratings
00 Ratings
Version Control Collaboration Tools
00 Ratings
9.69 Ratings
00 Ratings
Pull Requests
00 Ratings
9.710 Ratings
00 Ratings
Code Review Tools
00 Ratings
8.79 Ratings
00 Ratings
Project Access Control
00 Ratings
9.010 Ratings
00 Ratings
Automated Testing Integration
00 Ratings
8.710 Ratings
00 Ratings
Issue Tracking Integration
00 Ratings
8.710 Ratings
00 Ratings
Branch Protection
00 Ratings
9.89 Ratings
00 Ratings
Platform-as-a-Service
Comparison of Platform-as-a-Service features of Product A and Product B
Based on our experience, CircleCI is well-suited for automating mobile app release cycles. For example, to release an iOS app, you would need to build, sign, and upload it to TestFlight, which requires a dedicated Mac in the office. But with CircleCI, you can have macOS executors, so you don't have to manage a physical build machine. Another benefit is that CircleCI's certified AWS Orbs abstract away complex authentication and deployment logic, allowing us to build, push, and deploy Docker containers to Amazon ECS with minimal configuration and high reliability. CircleCI is less suited for smaller projects where the development and deployment are not that extensive, for example, a static site. Once you have built a static site, you probably won't make any further changes, so there's no point in paying for it.
GitHub is an easy to go tool when it comes to Version Controlling, CI/CD workflows, Integration with third party softwares. It's effective for any level of CI/CD implementation you would like to. Also the the cost of product is also very competitive and affordable. As of now GitHub lacks capabilities when it comes to detailed project management in comparison to tools like Jira, but overall its value for money.
Heroku is very well suited for startups looking to get a server stack up and running quickly. There is little to no overhead when managing your instances. However, you'll need a background in basic DevOps or system management to make sure everything is set up correctly. In addition, it's easy to accidentally go crazy on pricing. Make sure you're only creating the server instances you need to run the base application and set up an auto-scaler plugin to handle peaks.
Automated builds! This is really why you get CircleCI, to automate the build process. This makes building your application far more reliable and repeatable. It can also run tests and verify your application is working as expected.
Simple. Unlike Jenkins, Teamcity, or other platforms, CircleCI doesn't need a lot of setup. It's completely hosted, so there's no infrastructure to set up. The config file does take a bit to understand, but if you follow their example and start with something small and add to it, you can get it up and going quicker than it first looks.
Scales easily. Again, since it's all cloud-based, you don't have to manage or scale infrastructure. Simply subscribe to the number of containers you want, and scaling up just means buying more containers.
Version control: GitHub provides a powerful and flexible Git-based version control system that allows teams to track changes to their code over time, collaborate on code with others, and maintain a history of their work.
Code review: GitHub's pull request system enables teams to review code changes, discuss suggestions and merge changes in a central location. This makes it easier to catch bugs and ensure that code quality remains high.
Collaboration: GitHub provides a variety of collaboration tools to help teams work together effectively, including issue tracking, project management, and wikis.
Heroku has a very simple deployment model, making it easy to get your application up-and-running with minimal effort. We can focus on our efforts the unique aspects of our application.
The robust add-on marketplace makes it easy to try out new approaches with minimal effort and investment -- and when we settle on a solution, we can easily scale it.
Heroku's support is quite good -- their staff is quite technical and willing to get into the weeds to diagnose even complicated problems.
Not an easy tool for beginners. Prior command-line experience is expected to get started with GitHub efficiently.
Unlike other source control platforms GitHub is a little confusing. With no proper GUI tool its hard to understand the source code version/history.
Working with larger files can be tricky. For file sizes above 100MB, GitHub expects the developer to use different commands (lfs).
While using the web version of GitHub, it has some restrictions on the number of files that can be uploaded at once. Recommended action is to use the command-line utility to add and push files into the repository.
Large price jumps between certain resource tiers (2x Dyno for $50 per month versus Performance Dyno for $250). Free Postgres next jumps to $50 per month.
Marketing/Branding to non-technical stakeholders. As the years pass, I've had to fight more to convince stakeholders on the value of Heroku over AWS.
Improve Buildpack documentation. This is one area where Heroku's documentation is fairly confusing.
GitHub's ease of use and continued investment into the Developer Experience have made it the de facto tool for our engineers to manage software changes. With new features that continue to come out, we have been able to consolidate several other SaaS solutions and reduce the number of tools required for each engineer to perform their job responsibilities.
Heroku is easy to use, services a ton of functions for you out of the box, and provides a means to get a software product off the ground and managed quickly and easily. The tools provide allows a small to medium size org to move very quickly. The CLI tools provided make managing an entire technical infrastructure simple.
The reliability & speed, it just works. The ability to spin up macOS runners and Docker containers on demand without managing hardware is a huge win. The Orbs system makes integrating with AWS and Slack incredibly easy, saving us weeks of custom scripting and providing real-time updates in our Slack channel. This makes it easy for us to track and ensures that everyone involved knows the status. Of course, it has drawbacks related to configuration complexity and, in some cases, cost transparency, but overall, it is an industry-standard, robust tool that solves our core infrastructure problems well.
GitHub is a clean and modern interface. The underlying integrations make it smooth to couple tasks, projects, pull requests and other business functions together. The insights and reporting is really strong and is getting better with every release. GitHub's PR tooling is strong for being web based, i do believe a better code editor would rival having to pull merge conflicts into local IDE.
Easy to use web based console and easy to use command line tools; deployment is done directly from a GIT repository. What more could you ask for? The one thing that keeps me from giving it a 10 is that custom build packs are almost incomprehensible. We used one for a while because we needed cairo graphics processing. Fortunately, I was able to figure out a different way to do what we needed so that we could get off the custom build pack.
Heroku availability correlates pretty strongly to AWS US EAST availability. We had a couple of times where there was a Heroku-specific issue but not for the last 7-8 months.
It's pretty snappy, even with using workflows with multiple steps and different docker images. I've seen builds take a long time if it's really involved, but from what I can tell, it's still at least on par if not faster than other build tools.
Unless you have a reasonably large account, you're going to be mainly stuck reading their documentation. Which has improved somewhat over the years but is still extremely limited compared to a platform like Digital Ocean who invested in the documentation and a community to ensure it's kept up to date. If you can't find your answer there, you can be stuck.
There are a ton of resources and tutorials for GitHub online. The sheer number of people who use GitHub ensures that someone has the exact answer you are looking for. The docs on GitHub itself are very thorough as well. You will often find an official doc along with the hundreds of independent tutorials that answers your question, which is unusual for most online services.
I've used it for many years without facing any major problem. It's not hard at all to get used to it, it's documentation is outstanding and simple. We are close to 2020 and I don't think most of the existing companies or startups should still face old problems such as wasting time deploying code and calculate computing resources.
Be ready to pay a bit more than expected in the beginning if you're migrating from a big server. The application is probably not ready for the change and you have to keep improving it with time.
It's also important to consider that you can't save anything to the disc as it will be lost when your application restarts, so you have to think about using something like S3.
Jenkins is usually self-hosted, Travis CI's infrastructure is largely unreliable (lots of tests time out for no discernable reason), and Semaphore encourages you to configure your CI/CD from a web UI. We like CircleCI because its hosted, our tests run largely as expected on their infrastructure, and we can configure it from a config file that we track in GitHub.
While I don't have very much experience with these 2 solutions, they're two of the most popular alternatives to GitHub. Bitbucket is from Atlassian, which may make sense for a team that is already using other Atlassian tools like Jira, Confluence, and Trello, as their integration will likely be much tighter. Gitlab on the other hand has a reputation as a very capable GitHub replacement with some features that are not available on GitHub like firewall tools.
Heroku is the more expensive option for hosting compared to some of the cloud platforms we investigated, but it's worth it for us because of the plug-and-play nature of Heroku deployment. We can be up and running in a few minutes and know with precision how much it will cost us each month to run the application, unlike Amazon Web Services where you have to go to great pains to configure it correctly or else you might end up with a shocking monthly bill. Overall, spending the time to configure Amazon Web Services or one of its competitors is likely the more affordable and powerful choice, because you have control over so many specifics of the configuration. But it also requires the burden of continuing to maintain and update your AWS instance, whereas with Heroku they take care of security fixes and platform upgrades. It's a great service and we are happy to pay the extra cost for the value-adds Heroku provides.
We pay over $5K/ month and we have high expectations for service. Sometimes I feel that we don't get the value, but only sometimes.
We have had to build our own application to keep state and broker releases and deployments. We call our app deployer. I feel that CircleCI could do more to understand our needs and possibly build additional features that would enable us to invest less in build and deployment infrastructure and justify paying more for Circle.
Team collaboration significantly improved as everything is clearly logged and maintained.
Maintaining a good overview of items will be delivered wrt the roadmap for example.
Knowledge management and tracking. Over time a lot of tickets, issues and comments are logged. GitHub is a great asset to go back and review why x was y.