Deploying a Skyve application
Deploying a Skyve application
Skyve builds applications as a single web archive (.war
) folder, containing the application metadata and Skyve platform components. By default, Skyve .war
folders are deployed ‘exploded’ or ‘unzipped’.
The .war
folder is deployed with a .json
settings file and a -ds.xml
datasource file.
For example, to deploy a Skyve application called myApplication
using a Wildfly application server, you will need to place the following into the Wildfly deployment/
area:
myApplication.war
myApplication-ds.xml
myApplication.json
where
myApplication.war
is the self-contained web archive containing application metadata and Skyve platform librariesmyApplication-ds.xml
is the datasource file containing the jdbc connection string and credentialsmyApplication.json
is the instance-specific settings file, containing all of the settings specific to the particular instance.
You can manually signal Wildfly to deploy the datasource and application by creating files named with .dodeploy
- i.e.:
myApplication-ds.xml.dodeploy
and myApplication.war.dodeploy
(the contents of the files is irrelevant - creating empty files with the correct names is sufficient). If Wildfly is running, it will detect the presence of these files and attempt to deploy them, resulting in the creation of either a .deployed
or a .failed
signal file.
When moving an application from DEV->TEST->PROD, the settings files on each instance remain in place unchanged - only the application web archive is updated.
This approach is part of the Skyve risk reduction strategy, to minimise the risk of problems when updating new versions of your application. Once each instance is configured, moving from DEV -> TEST -> PROD becomes a low-risk trivial activity, requiring no reconfiguration (unless the different instance have significantly different set ups).
Deploying a new application version
Where an instance has already been configured, to deploy a new application version on each instance:
- undeploy the project (or stop Wildfly)
- remove the existing
.war
from the deployment area - place the new
.war
folder into the deployment area - redeploy the project (or restart Wildfly)
If the server has multiple Skyve application deployments, you can replace one of these without impacting on other deployments by signalling an undeployment and deployment as follows:
To undeploy, create an myApplication.war.undeploy
file in the wildfly/standalone/deployment/
folder corresponding to the name of your application (an empty text file with that name is all that is required). After about a minute, Wildlfly will replace this file with a file named myApplication.war.undeployed
.
To redeploy, create a myApplication.war.dodeploy
file in the wildfly/standalone/deployment/
folder corresponding to the name of your application (again - an empty text file with that name is all that is required). Wildfly will replace this file with myApplication.war.isdeploying
and once deployment is successful, Wildfly will replace this with either myApplication.war.deployed
(if successful) or myApplication.war.failed
(if unsuccesful).
Additional steps are required for Single Sign-On configuration, the creation of service user accounts, SPNs and port configuration.
Next Installing and configuring a Skyve development environment
Previous Changing database dialect