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
Jenkins
Score 8.4 out of 10
N/A
Jenkins is an open source automation server. Jenkins provides hundreds of plugins to support building, deploying and automating any project. As an extensible automation server, Jenkins can be used as a simple CI server or turned into a continuous delivery hub for any project.
N/A
Travis CI
Score 7.3 out of 10
N/A
Travis CI is an open source continuous integration platform, that enables users to run and test simultaneously on different environments, and automatically catch code failures and bugs.
Microsoft Team Foundation Server was too heavy and too complex for fast dvelopment. The integration with opensource build solutions (i.e jenkins) was not explored but the main feedback on this tool was its complexity. CVS and SVN used to be standards in past years and fit …
GitHub has a bigger amount of users and is the go-to place for Git version control. However, Gitlab is open core and can be installed on your own infrastructure. At the end of the day, GitHub, however, is the more pragmatic choice due to so many tools being built around it.
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 …
Bitbucket has an interface that is much uglier and much more confusing to use. The learning curve is therefore much greater with Bitbucket. However, Bitbucket allows for free private repositories for small teams, which is a huge plus, and if your team is small enough, that …
Travis CI and AppVeyor are good services that provide rudimentary support for builds, but they focus on Linux/OSX and Windows respectively, meaning that cross-platform builds will need to use both services. They are free for open source projects on GitHub, so they are seen …
GitLab CI and GitHub Actions are other powerful options in the market also with a rising popularity and high interoperability with their respective platform. But Jenkins is still a good option for complex pipelines that require scripting and logic. Also, Jenkins uses as runtime …
Verified User
Engineer
Chose Jenkins
Jenkins is highly customizable and flexible, supporting a wide range of plugins and integrations. Jenkins works with any version control system (Git, Subversion, etc.). Jenkins has a more mature ecosystem, and it may be better for large-scale, complex environments, especially …
Overall, Jenkins is the easiest platform for someone who has no experience to come in and use effectively. We can get a junior engineer into Jenkins, give them access, and point them in the right direction with minimal hand-holding. The competing products I have used (TravisCI/G…
I have used Spinnaker as a CD tool. Though it's a very powerful CD tool we still needed Jenkins for CI, so to save some hassle for us we opt Jenkins solely.
Both Jenkins and TeamCity do a good job of automating CI/CD. Jenkins runs much leaner than TeamCity - it only needs about a Gig of free memory, whereas TeamCity needs a fat 4 Gig free. Many tasks in Jenkins yml config can be very cumbersome, especially running local and …
Originally Jenkins was selected because it was the best around, but it has since been outclassed by more specific services or cloud-based services and tools that will do all of the heavy lifting for you. Jenkins still has a use case - but it's hard to argue the additional …
Jenkins is the only tool I would consider using for CTCI deployment. Its plugins make it easy to customize to any environment you can conjure up and will always be custom fit to your needs as a DevOps engineer. Other tools have better support but lack the customizability and …
Jenkins has been my favorite continuous integration tool I've used. It's easy to setup, intuitive to use, and very powerful. The software allows for building complex workflows, then having them run without thinking about it. This leads to savings in time and resources, and to …
When looking for alternatives for Jenkins we found CircleCI and TeamCity are good too. Jenkins was considered for reasons like it has a wide variety of plugins which integrate well with any kind of system. And its ease of use.
One of the other greater advantage is it is open …
TeamCity is another viable option for Continuous Integration/Development. We picked Jenkins in this case because there was a lot of support for Amazon CloudFormation and other AWS integrations which fit the task at hand. For just straight compiling Microsoft based builds, TeamCi…
Jenkins immense flexibility and its large and impressive selection of available community-driven plugins makes it ideal choice for solving non-traditional problems.
However, for CI/CD - consider the benefit of modern tools that enforce reusable, infrastructure as code design …
Jenkins provides bare metal framework that people would be able to use and transform to their needs. In a lot of other cases, there are lot of configurations already available which make the softwares heavy ended and less customizable. Also, there are a lot of open source …
Jenkins is ideal for developing software with high-security demands. It is hosted and set up locally and has no outside connections. But these pros could become cons when you work on open source projects and need to waste time for initial setup and maintenance over a project's …
Basically all those CI/CD tools provides the same set of tooling. SaaS solutions have a pre set pool of languages and containers you can use, but hey also are less flexible because they will not allow you to do advance configurations or setups you may need. With jenkins you have …
Jenkins is a bit more technically rigorous than either of the other products, but once you begin to dive deeper into the software, you'll quickly realize that this learning curve is worth it. It had more customization and interfaces with more software services than the other …
Jenkins is much more complicated to configure and start using. Although, one you have done that, it's extremely powerful and full of features. Maybe many more than Travis CI. As per TeamCity, I would never go back to using it. It's also complicated to configure but it is not …
Jenkins is probably the leading choice for automation and has loads of features and a large community behind it, but it can be overkill for many projects. It also has more of a web 1.0 look and interface. CircleCI is another similar big competitor, but cannot compete with Travis …
There are a few other options out there, CircleCI, Codeship and Wrecker would be a few good ones I can also recommend, each one has its particularity but I believe Travis has the best interface and flexibility of all of them. I'd recommend trying them all and seeing which one …
There are a number of alternatives to Travis CI, but Travis remains the most popular, since it was one of the first to show up. It has a lot of examples, support for building dozens of languages, and good documentation. Significant portions of the system are open source, so you …
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.
Jenkins is a highly customizable CI/CD tool with excellent community support. One can use Jenkins to build and deploy monolith services to microservices with ease. It can handle multiple "builds" per agent simultaneously, but the process can be resource hungry, and you need some impressive specs server for that. With Jenkins, you can automate almost any task. Also, as it is an open source, we can save a load of money by not spending on enterprise CI/CD tools.
TravisCI is suited for workflows involving typical software development but unfortunately I think the software needs more improvement to be up to date with current development systems and TravisCI hasn't been improving much in that space in terms of integrations.
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.
Automated Builds: Jenkins is configured to monitor the version control system for new pull requests. Once a pull request is created, Jenkins automatically triggers a build process. It checks out the code, compiles it, and performs any necessary build steps specified in the configuration.
Unit Testing: Jenkins runs the suite of unit tests defined for the project. These tests verify the functionality of individual components and catch any regressions or errors. If any unit tests fail, Jenkins marks the build as unsuccessful, and the developer is notified to fix the issues.
Code Analysis: Jenkins integrates with code analysis tools like SonarQube or Checkstyle. It analyzes the code for quality, adherence to coding standards, and potential bugs or vulnerabilities. The results are reported back to the developer and the product review team for further inspection.
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.
I think they could have a cheaper personal plan. I'd love to use Travis on personal projects, but I don't want to publish them nor I can pay $69 a month for personal projects that I don't want to be open source.
There is no interface for configuring repos on Travis CI, you have to do it via a file in the repo. This make configuration very flexible, but also makes it harder for simpler projects and for small tweaks in the configuration.
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.
We have a certain buy-in as we have made a lot of integrations and useful tools around jenkins, so it would cost us quite some time to change to another tool. Besides that, it is very versatile, and once you have things set up, it feels unnecessary to change tool. It is also a plus that it is open source.
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.
Jenkins streamlines development and provides end to end automated integration and deployment. It even supports Docker and Kubernetes using which container instances can be managed effectively. It is easy to add documentation and apply role based access to files and services using Jenkins giving full control to the users. Any deviation can be easily tracked using the audit logs.
TravisCI hasn't had much changes made to its software and has thus fallen behind compared to many other CI/CD applications out there. I can only give it a 5 because it does what it is supposed to do but lacks product innovation.
No, when we integrated this with GitHub, it becomes more easy and smart to manage and control our workforce. Our distributed workforce is now streamlined to a single bucket. All of our codes and production outputs are now automatically synced with all the workers. There are many cases when our in-house team makes changes in the release, our remote workers make another release with other environment variables. So it is better to get all of the work in control.
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.
As with all open source solutions, the support can be minimal and the information that you can find online can at times be misleading. Support may be one of the only real downsides to the overall software package. The user community can be helpful and is needed as the product is not the most user-friendly thing we have used.
After the private equity firm had bought this company the innovation and support has really gone downhill a lot. I am not a fan that they have gutted the software trying to make money from it and put innovation and product development second.
It is worth well the time to setup Jenkins in a docker container. It is also well worth to take the time to move any "Jenkins configuration" into Jenkinsfiles and not take shortcuts.
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.
Overall, Jenkins is the easiest platform for someone who has no experience to come in and use effectively. We can get a junior engineer into Jenkins, give them access, and point them in the right direction with minimal hand-holding. The competing products I have used (TravisCI/GitLab/Azure) provide other options but can obfuscate the process due to the lack of straightforward simplicity. In other areas (capability, power, customization), Jenkins keeps up with the competition and, in some areas, like customization, exceeds others.
Jenkins is much more complicated to configure and start using. Although, one you have done that, it's extremely powerful and full of features. Maybe many more than Travis CI. As per TeamCity, I would never go back to using it. It's also complicated to configure but it is not worth the trouble. Codeship supports integration with GitHub, GitLab and BitBucket. I've only used it briefly, but it seems to be a nice tool.
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.
It's improved my ability to deliver working code, increasing my development velocity.
It increases confidence that your own work (and those of external contributors) does not have any obvious bugs, provided you have sufficient test coverage.
It helps to ensure consistent standards across a team (you can integrate process elements like "go lint" and other style checks as part of your build).
It's zero-cost for public/open source projects, so the only investment is a few minutes setting up a build configuration file (hence the return is very high).
The .travis.yml file is a great way for onboarding new developers, since it shows how to bootstrap a build environment and run a build "from scratch".