WildFly CLI Scripting

From NovaOrdis Knowledge Base
Revision as of 18:47, 22 February 2016 by Ovidiu (talk | contribs)
Jump to navigation Jump to search

Internal

Connection to a Host Controller

In order to be able to interact with a host controller, CLI must be connected. For options on how to connect see:

Connect to a Controller

Executing a Single Command

jboss-cli.sh -c command="..."

Example:

jboss-cli.sh -c command="deploy ./test.war --server-groups=web-frontend"




Script Example

batch
# Configure the connection from main server to "one" and "two"
/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=remote-ejb:add(host=localhost, port=4647)

# add security realm
/core-service=management/security-realm=ejb-security-realm:add()
/core-service=management/security-realm=ejb-security-realm/server-identity=secret:add(value=cXVpY2stMTIz)

# add the outbound connections to the remoting subsystem
/subsystem=remoting/remote-outbound-connection=remote-ejb-connection:add(outbound-socket-binding-ref=remote-ejb, security-realm=ejb-security-realm, username=quickuser)
/subsystem=remoting/remote-outbound-connection=remote-ejb-connection/property=SASL_POLICY_NOANONYMOUS:add(value=false)
/subsystem=remoting/remote-outbound-connection=remote-ejb-connection/property=SSL_ENABLED:add(value=false)
run-batch

Deployment Script

Separated Bash Launcher and CLI Script

deploy.sh:

#!/bin/bash

reldir=$(dirname $0)

${JBOSS_HOME}/bin/jboss-cli.sh -c --file=${reldir}/deploy.cli

deploy.cli:

batch
#deploy target/playground.war --server-groups=main-server-group
deploy target/playground.war --force
run-batch

Coalesced Scripts

This is where you can use bash variables.

#!/bin/bash

# ...

jboss-cli.sh -c <<EOF
batch
#deploy target/playground.war --server-groups=main-server-group
deploy target/playground.war --force
run-batch
EOF

Using Variables

See coalesced scripts above.


I've seen this example, how does it work, how is Host1_Name defined?

/host=$Host1_Name:write-local-domain-controller
reload --host=$Host1_Name