WildFly Deployment Concepts: Difference between revisions
(ue) |
|||
Line 29: | Line 29: | ||
[Host Controller] 11:12:16,279 INFO [org.jboss.as.repository] (management-handler-thread - 9) JBAS014900: Content added at location /jboss-eap-6.4.15/profiles/domain-deployment-test/data/content/1c/795338f655a8e6aa5b1d984e894ee5e89cc398/content | [Host Controller] 11:12:16,279 INFO [org.jboss.as.repository] (management-handler-thread - 9) JBAS014900: Content added at location /jboss-eap-6.4.15/profiles/domain-deployment-test/data/content/1c/795338f655a8e6aa5b1d984e894ee5e89cc398/content | ||
The naming scheme used to store content is explained in the [[#Domain-Wide_Deployment_Artifact_Repository|Domain-Wide Deployment Artifact Repository]] section. After storing the content in the repository, the content is usually pushed to target server nodes by the controller, in the same step. The deployment artifact content ends up in the data/content directory of each target server node, following the same naming scheme for storage on the file system (.../data/content/1c/795338f655a8e6aa5b1d984e894ee5e89cc398/content). Note that adding content to repository and pushing to nodes can be done in separate steps. For more operational details, see: {{Internal|WildFly_CLI_Deployment_Operations#Domain_Mode|CLI Deployment Operations in Domain Mode}} | The naming scheme used to store content is explained in the [[#Domain-Wide_Deployment_Artifact_Repository|Domain-Wide Deployment Artifact Repository]] section. After storing the content in the repository, the content is usually pushed to target server nodes by the controller, in the same step. The deployment artifact content ends up in the data/content directory of each target server node, following the same naming scheme for storage on the file system (.../data/content/1c/795338f655a8e6aa5b1d984e894ee5e89cc398/content). Note that adding content to repository and pushing to nodes can be done in separate steps. Upgrades are handled differently. Once an artifact, identified by its name, is added to the repository, upgrades of artifacts with the same name will be pushed ''only'' to server nodes on which the artifact is already deployed. A special flag (--force) is required to specify that the operation is an upgrade, and the attempt to specify other target nodes than the ones that are already running the artifact - in fact, any target nodes, ends up in failure. For more operational details, see: {{Internal|WildFly_CLI_Deployment_Operations#Domain_Mode|CLI Deployment Operations in Domain Mode}} | ||
==Domain-Wide Deployment Artifact Repository== | ==Domain-Wide Deployment Artifact Repository== |
Revision as of 16:42, 20 September 2017
Internal
Deployment Artifact Repository
TODO for standalone and domain.
Standalone Mode Deployments
Location of the Deployment Artifacts on the File System in Standalone Mode
Standalone Deployment Modes
- CLI
- Management Console
- HTTP REST
- Deployment Scanner
Domain Mode Deployments
Domain Deployment Mechanics
CLI deployment commands operate on artifacts existing in the deployment artifact repository. An artifact must first be stored in repository before it is distributed to server nodes. The location of the artifact in the repository is reported by the domain controller upon deployment:
[Host Controller] 11:12:16,279 INFO [org.jboss.as.repository] (management-handler-thread - 9) JBAS014900: Content added at location /jboss-eap-6.4.15/profiles/domain-deployment-test/data/content/1c/795338f655a8e6aa5b1d984e894ee5e89cc398/content
The naming scheme used to store content is explained in the Domain-Wide Deployment Artifact Repository section. After storing the content in the repository, the content is usually pushed to target server nodes by the controller, in the same step. The deployment artifact content ends up in the data/content directory of each target server node, following the same naming scheme for storage on the file system (.../data/content/1c/795338f655a8e6aa5b1d984e894ee5e89cc398/content). Note that adding content to repository and pushing to nodes can be done in separate steps. Upgrades are handled differently. Once an artifact, identified by its name, is added to the repository, upgrades of artifacts with the same name will be pushed only to server nodes on which the artifact is already deployed. A special flag (--force) is required to specify that the operation is an upgrade, and the attempt to specify other target nodes than the ones that are already running the artifact - in fact, any target nodes, ends up in failure. For more operational details, see:
Domain-Wide Deployment Artifact Repository
The domain-wide deployment artifact repository is located on the controller host, under $JBOSS_HOME/domain/data/content. The content is maintained in a two-level directory structure named based on the content's hash. The names of the first level directories consist of the first two characters of content hashes. A second-level directory name contains the rest of the hash, and the directory contains the content itself, as a file named "content".
Example:
<domain ...>
...
<deployments>
...
<deployment name="test-servlet.war" runtime-name="test-servlet.war">
<content sha1="e85e00cddbae1752cb7eaaa73adb1eed09787d70"/>
</deployment>
</deployments>
</domain>
$JBOSS_HOME/domain/data/content/<first-two-characters-of-the-hash>/<the-rest-of-the-hash>/content
domain | +-- data | +-- content | +-- e8 | +-- 5e00cddbae1752cb7eaaa73adb1eed09787d70 | +-- content
Also see
Location of the Deployment Artifacts on the File System in Domain Mode
For the location of the domain-wide artifact repository, see Domain-Wide Deployment Artifact Repository section below.
In case of server nodes, copies of the deployment artifacts are pushed by the domain management logic to:
$JBOSS_HOME/domain/data/servers/<server-node-name>/content/<first-two-characters-of-the-hash>/<the-rest-of-the-hash>/content
Domain Deployment Modes
- CLI
- Management Console
- HTTP REST
Rollout Plans
Deployment Scanner
Deployment Descriptor Validation
./domain.sh|./standalone.sh -Dorg.jboss.metadata.parser.validate=true