Update Java Apps and dependencies without hassles
LiveRebel is a Continuous Delivery tool that helps you take Java apps to users faster. It instantly deploys apps across the QA and production environments in cloud, virtual or physical servers, and it does it all with zero downtime and no session loss, making LiveRebel unique in the market.
A Java application rarely consists of just Java code. It includes multiple interdependent components – a database, JMS, other dependent applications, native libraries, resources in a CDN and so on. The point is, regularly deploying these apps manually can be cumbersome for operations teams – why not automate the process, recording each step along the way with an audit trail?
For this reason, the LiveRebel team at ZeroTurnaround wanted to introduce Configuration Scripts (aka “Config Scripts”), an intelligent feature that helps you automate the deployment of your Java app and its dependencies using any of your existing deployment scripts from a single viewpoint.
Automate the deployment of your app, together with its dependencies
Newly released in LiveRebel 2.5, LiveRebel’s Config Scripts keeps all parts of your Java application on the same page during an update, even across multiple environments. Users bundle their own Config Scripts with each application version, which are then called at various stages of the deployment process. Even more, you can visually organize and import all your existing scripts you’ve made over the years from within LiveRebel, without learning any new technologies. Win!
How does it work?
LiveRebel identifies events that occur during application deployments right from start to finish, and lets you specify the Config Scripts that are called for each of these events. Here are some examples how LiveRebel lets you further leverage scripts within your app updates:
Execute Config Scripts perUpdate / perServer: Scripts can be geared to execute across all managed servers in the app’s environment, or only on specific servers.
Execute Config Scripts incrementally: LiveRebel only executes scripts that have been introduced into the latest version of the application being deployed. Therefore, you can keep all scripts associated with an app bundled with it to ensure completeness. Scripts already executed as part of a previous version are not run again.
Environment Aware Scripts: Script processes inherit the environment from their callers which are either the Command Center for perUpdate scripts or the server agent for perServer scripts. You can provide predefined variables use them in the scripts.
Additionally, scripts also receive:
path to server home directory,
server’s unique id,
type of the operation running (hotpatch update, undeploy, etc),
id and version identifiers for old and new versions involved,
even paths to application archives, if you wish to extract something from there.
Cool! What more?
In addition to helping you better manage your scripts, LiveRebel lets you make sure that if any of them were to fail, you aren’t left hanging.
Rollback scripts instantly upon failure: LiveRebel rolls back any changes made if any update were to fail. Each event has an opposing undo event that users can use to provide “undo” scripts. LiveRebel will use these scripts to rollback changes each time it detects an error with the application update or when script returns a non-zero exit status.
LiveRebel’s own “finally” keyword: LiveRebel executed scripts marked as “finally” at the end irrespective of the outcome, whether it is an update, deploy or undeploy operation that may have succeeded or failed. Use it to clean up resources or anything else.
Seem interesting? See the technical info and Q&A on LiveRebel Config Scripts.