GoCD, from ThoughtWorks in Chicago, is an application lifecycle management and development tool.
N/A
JRebel
Score 8.0 out of 10
N/A
JRebel is a build automation tool developed by Estonian company ZeroTurnaround, acquired by Rogue Wave Software in 2017, and then acquired (and now supported by) Perforce since that company's 2019 acquisition of Rogue Wave. The vendor says users of JRebel saves Java teams a month of coding time per year on average.
GoCD is easy to set up. So if you just want to get some pipelines up & running quickly, & they're quite stable, or you can have many pipelines for different needs then GoCD is great. Still, if you only want to have a few pipelines, but with the flexibility to run them with different parameters dynamically, then Jenkins is better.
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.
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.
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.
I prefer using GoCD compared to Jenkins. The UI makes sense, I like the simplicity to hit the 'Play' button for a straightforward deployment of the 'Play +' if you need to override some settings when deploying whereas Jenkins, you have the whole page for each pipeline. The environment makes sense but can often confuse the user while GoCD simply has a drop-down to select your environment.
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.
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