A description of each deployment script is found below.
pre_deploy_config_all.py
This script performs deployment operations that need to be done before the JBoss server is running. Its primary job is to create the databases and the database users.
Argument | Description |
---|---|
-p [profile] | Specifies which configuration profile* to use |
-d [distribution] | Specifies which distribution** to use |
-r | Specifies if the script shall be executed on a remote machine or not |
post_deploy_config_all.py
This script performs deployment operations that need to be done after the JBoss server has been started and everything has been deployed.
Argument | Description |
---|---|
-p [profile] | Specifies which configuration profile* to use |
-d [distribution] | Specifies which distribution** to use |
-r | Specifies if the script shall be executed on a remote machine or not |
remote_copy.py
This can be used to copy files and folders from the machine the script is executed on to the machine specified by the profile.
Argument | Description |
---|---|
-p [profile] | Specifies which configuration profile* to use |
-s [source] | Specifies the files to copy to the remote machine |
-t [target] | Specifies the destination on the remote machine to copy the files to |
remote_execute.py
This can be used to remotely execute commands on the machine specified by the profile.
Argument | Description |
---|---|
-p [profile] | Specifies which configuration profile* to use |
-c [command] | Specifies the command to run on the remote machine |
start_jboss.py
This script will attempt to start the JBoss server. Before starting, it will also remove the JBoss data and tmp folders and remove any old deployment status files. The script will wait until all components have been successfully deployed.
Argument | Description |
---|---|
-p [profile] | Specifies which configuration profile* to use |
-r | Specifies if the script shall be executed on a remote machine or not |
stop_jboss.py
This script will attempt to stop the JBoss server. It will wait until the JBoss is no longer running.
Argument | Description |
---|---|
-p [profile] | Specifies which configuration profile* to use |
-r | Specifies if the script shall be executed on a remote machine or not |
deploy_all.py
This script will deploy all the artefacts needed by the specified distribution. It will copy the artefacts from the specified folder to the JBoss deployment folder specified by profile.
Argument | Description |
---|---|
-p [profile] | Specifies which configuration profile* to use |
-d [distribution] | Specifies which distribution** to use |
-a [artifactspath] | Specifies the path where the artifacts to deploy can be found |
-r | Specifies if the script shall be executed on a remote machine or not |
generate_configuration.py
This script will generate a new configuration file for the specified profile suited for the specified distribution.
When you are satisfied with the generated configuration file, name it config.properties and place it in a folder of your choice. The config.properties file has to be loaded at server startup and needs to be specified as a java option. Add or update the JAVA_OPTS variable in jbossas.conf accordingly:
-Dconfig.path=<path-to-folder-with-config-file>
Argument | Description |
---|---|
-p [profile] | Specifies which configuration profile* to use |
-d [distribution] | Specifies which distribution** to use |
-f [filename] | Save the configuration as this file name |
-r | Specifies if the script shall be executed on a remote machine or not |
jboss_config_all.py
This script will change the necessary configuration for JBoss. Most changes will be done to standalone.xml. We do this through the JBoss CLI so the JBoss server must be running before you run this script.
The script installs the JDBC driver in order to configure the datasources properly. To manually install a driver, see instructions how to manually configure your application server.
Limitations
It is also worth mentioning that the JBoss CLI tool, which is what this script is using to update the JBoss configuration, does not report errors very well. So if something fails or if a dependency is missing, you will not get notified about this and the generated configuration will be incomplete. For example, if the certificateKeyFile which is specified in your profile cannot be found, the HTTPS/SSL connectors will not be created. So it is always recommended to review the generated standalone.xml and make thorough testing to make sure it is working properly.
Argument | Description |
---|---|
-p [profile] | Specifies which configuration profile* to use |
-d [distribution] | Specifies which distribution** to use |
-r | Specifies if the script shall be executed on a remote machine or not |
upgrade_pre_deploy_config_all.py
This script performs upgrade deployment operations that need to be done before the JBoss server is running. Its primary job is to create the databases and the database users for new components.
Argument | Description |
---|---|
-p [profile] | Specifies which configuration profile* to use |
-d [distribution] | Specifies which distribution** to use |
-r | Specifies if the script shall be executed on a remote machine or not |
upgrade_post_deploy_config_all.py
This script performs upgrade deployment operations that need to be done after the JBoss server has been started and everything has been deployed.
Argument | Description |
---|---|
-p [profile] | Specifies which configuration profile* to use |
-d [distribution] | Specifies which distribution** to use |
-r | Specifies if the script shall be executed on a remote machine or not |
* Read more about profiles in the platform Installation and Upgrade instructions.
** A distribution is a release of a certain set of components. It specifies which components shall be included when running some of the deployment scripts, so it is necessary to specify this when needed. A distribution is represented by a folder and the name of the distribution is the name of the folder. The distributions can be found in the distributions folder in the deployment script folder. It is possible that you only have one distribution in your release, but you still need to specify which distribution to use when running some of the scripts. Usually the distribution is -d lequinox.