WildFly Deployment Concepts

From NovaOrdis Knowledge Base
Jump to navigation Jump to search


Migrating from https://home.feodorov.com:9443/wiki/Wiki.jsp?page=JBoss7Deployment

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

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 /Users/ovidiu/runtime/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 pushed to target server nodes by the controller. 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.

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

CLI Deployment Operations

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

https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html/Administration_and_Configuration_Guide/sect-Rollout_Plan.html

Deployment Scanner

Deployment Scanner

Deployment Descriptor Validation

https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html/Administration_and_Configuration_Guide/chap-Application_Deployment.html#About_Application_Deployment1
./domain.sh|./standalone.sh -Dorg.jboss.metadata.parser.validate=true