GShell is an extensible, command-line processing environment for creating command-line applications. GShell includes support for command editing, command history, input/output redirection, and more. GShell is a subproject of Geronimo. For more information on GShell, see the GShell wiki.

Many Geronimo administrative commands have been implemented using GShell. Previously existing Geronimo commands (e.g. startup, geronimo.sh, deploy.sh) are still included in Geronimo. Over time, however, it is expected that we will implement all administrative commands using GShell, only.

If username -u and password -w are not provided on the command line, the user will be prompted for them before the server shutdown process is started. The full set of geronimo/stop-server options can be seen in gshell using the --help option, the same way as for geronimo/start-server.

On a Windows platform

Icon

Use forward slash "/" instead of traditional back slash "\" as directory seperators.
For example:

Connecting to an Already Running Geronimo Instance

deploy/connect can be used to connect to an instance of Geronimo that is already running. If no options are provided, then the default port (1099) and host (localhost) will be used to connect to a server. The -p option can be used to specify a different port and -s to specify a remote hostname.

deploy/disconnect can be used to disconnect from an already connected instance of Geronimo. Since only one instance of Geronimo can be connected at a time, no options are needed to specify which server to disconnect from.

The -u and -w options can be used to provide username and password when issuing the command. The -s option can be used to specify the hostname. If none specified, then the hostname defaults to localhost. Likewise -p can be used to specify a port to contact the host on with 1099 being the default. -i can be used to specify an inPlace deployment from the directory you are actually developing the application. In that instance, the path to the application would need to be provided in place of the location of the module.

A deployment plan is necessary to deploy an application. If the deployment plan is not in the WEB-INF directory of a module, then its location must be specified after the module in the command.

jason@butters:/> deploy/deploy <module> <deployment plan>

Redeploy

deploy/redeploy is used to deploy a newer version of a module onto a server where the older module is already deployed. It functions in a similar way to deploy/deploy but lacks an inPlace deployment option. The username and password is still required and can be provided via command line (-u and -w) or through a prompt after the command is issued. As with the deploy command, the user can specify both port (-p) and hostname (-s) if they differ from the defaults

jason@butters:/> deploy/redeploy -u system -w manager <module>

Undeploy

deploy/undeploy is used to properly remove a module from a server. The command takes the username (-u) and password (-w) options. If not provided, the user will be prompted. As with the deploy command, the user can specify both port (-p) and hostname (-s) if they differ from the defaults. The module id must be provided for the module you wish to undeploy.

jason@butters:/> deploy/undeploy -u system -w manager <module_id>

Distribute

deploy/distribute works exactly like deploy/deploy except the module is not started once it has been deployed into the server and is not marked to be started each time the server starts. The command can be issued in the same way, with the same options, as deploy/deploy.