Likelihood to Recommend Previously, our team used
Jenkins . However, since it's a shared deployment resource we don't have admin access. We tried GoCD as it's open source and we really like. We set up our deployment pipeline to run whenever codes are merged to master, run the unit test and revert back if it doesn't pass. Once it's deployed to the staging environment, we can simply do 1-click to deploy the appropriate version to production. We use this to deploy to an on-prem server and also AWS. Some deployment pipelines use custom Powershell script for.Net application, some others use Bash script to execute the docker push and cloud formation template to build elastic beanstalk.
Read full review I recommend JRebel for Java developers, it will remove the time needed for redeployment, it will increase the focus on the task at hand (without being distracted by the redeployment) and will make them happier. I recommend JRebel for Java Development Managers, they should purchase this for their teams - it will increase productivity, decrease the product's time to market, and it will save money for the company. The ROI can be calculated upfront and presented to higher level management for approving this, if needed.
Read full review Pros Pipeline-as-Code works really well. All our pipelines are defined in yml files, which are checked into SCM. The ability to link multiple pipelines together is really cool. Later pipelines can declare a dependency to pick up the build artifacts of earlier ones. Agents definition is really great. We can define multiple different kinds of environments to best suit our diverse build systems. Read full review Deploys all layout changes consistently (when Instant Run was initially available, you couldn't tell if the change you made to a layout was actually being tested or not). Doesn't require a full build as often as Instant Run when changing code. Works with compile time annotation libraries like Realm, etc. Read full review Cons UI can be improved Location for settings can be re-arranged API for setting up pipeline Read full review It worked great, no big cons Read full review Performance The performance of JRebel is great. It is enabling the Java team to do hot re-deployments and it has to be transparent and fast for the user, otherwise the whole purpose of reducing wasted time with re-deployments doesn't make sense. Also the User Interface for License Server management and analytics loads fast and the navigation through pages is quick.
Read full review Alternatives Considered GoCD is easier to setup, but harder to customize at runtime. There's no way to trigger a pipeline with custom parameters.
Jenkins is more flexible at runtime. You can define multiple user-provided parameters so when user needs to trigger a build, there's a form for him/her to input the parameters.
Read full review Hot code swapping doesn't have many players...it's mainly JRebel. We use JRebel a lot in our backend code development where it minimizes our development cycle (20min down to 30sec). For Android, the competitor is Android Studio's Instant Run which works fairly well now. For smaller apps, Instant Run is faster deploying but needs more full builds. With JRebel, you hardly ever need to do a full build.
Read full review Return on Investment ROI has been good since it's open source Settings.xml need to be backed up periodically. It contains all the settings for your pipelines! We accidentally deleted before and we have to restore and re-create several missing pipelines More straight forward use of API and allows filtering e.g., pull all pipelines triggered after this date Read full review It sped up the developing time, and time is money for the company. Read full review ScreenShots