Page History
...
The Packaging Script is used in the JS7 - Deployment process for on-premises installations on a JS7 - Deployment ServerArea
- to install JS7 components such as JOC Cockpit, Controller, Agent in a temporary environment,
- to create .tar..gz tarball Deployment Packages of the JS7 components' installation and configuration directories created during installation,
- to create a Deployment Script per JS7 component. The script is later on used to deploy the packages to target hosts.
...
- The script is available for Linux, MacOS® and AIX® using bash, dash, ksh and zsh POSIX-compatible shells.
- The script expects a JS7 - Deployment Descriptor file in .json format that specifies the JS7 components, the installation options, configuration options and deployment options.
- The script creates
- the
run_install_agent.sh, run_install_controller.sh, run_install_joc.sh
Installer Wrapper Scripts that parameterize installation of the JS7 components, - the
run_deploy_agent.sh, run_deploy_controller.sh, run_deploy_joc.sh
Deployment Scripts that are used to transfer tarball Deployment Packages to target machines.
- the
- The script terminates with exit code 0 to signal success, with exit code 1 for command line argument errors and with other exit codes for non-recoverable errors.
- The script is intended as a baseline example for customization by JS7 users and by SOS within the scope of professional services.
...
Code Block | ||
---|---|---|
| ||
Usage: js7_create_deployment_package.sh [Options] [Switches] Options: --deploy-desc=<file> | required: path to a deployment descriptor file --deploy-dir=<directory> | required: path to the deployment source directory, default: ./config --work-dir=<directory> | required: path to the deployment working directory directory, default: ./work --archive-dir=<directory> | required: path to the deployment archive directory directory, default: ./archive --script-dir=<directory> | optional: path to the script directory directory, default: ./bin --deploy-agent-id=<identifier> | required: Agent ID executing the deployment workflow --agent-id=<identifier> | optional: limits processing to a specific Agent ID --controller-id=<identifier> | optional: limits processing to a specific Controller ID --joc-id=<identifier> | optional: limits processing to a specific JOC Cockpit ID --workflow-parallelism=<number> | optional: limits parallel processes in deployment workflow, default: 100 --workflow-timezone=<number> | optional: specifies time zone of deployment workflow, default: Etc/UTC --log-dir=<directory> | optional: log directory for log output of this script Switches: -h | --help | displays usage --dry-run | create install script without running the script --keep-script | keep install script in archive directory --keep-work | keep temporary installation in work directory --make-dirs | creates the specified directories if they do not exist --show-logs | shows log output of the script |
...
--deploy-desc
- Specifies the path to the .json file that holds the JS7 - Deployment Descriptor.
- Deployment Descriptors specify which JS7 components should be installed and which installation and configuration options should be used.
--deploy-dir
- Specifies the top-level directory holding configuration files that will be copied to an Agent, Controller or JOC Cockpit installation..
- By default the
./config
directory is used, see JS7 - Deployment Server.
--work-dir
- Specifies the directory that holds the working area to temporarily install JS7 components.
- By default the
./work
directory is used, see JS7 - Deployment Server.
--archive-dir
- Specifies the directory to which deployment packages are stored.
- By default the
./archive
directory is used, see JS7 - Deployment Server.
--script-dir
- Specifies the directory in which the Controller expects JS7 installer script files, see JS7 - Automated Installation and Update.
- By default the
./bin
directory is used, see JS7 - Deployment Server.
--deploy-agent-id
- Specifies the name of the Agent that should execute the Deployment Workflow.
- This information will be added to the Deployment Workflow and can be changed later on in JOC Cockpit.
--agent-id
- Selects the name of an Agent available from the Deployment Descriptor file to which creation of Deployment Packages should be limited.
--controller-id
- Selects the Controller ID of a Controller available from the Deployment Descriptor file to which creation of Deployment Packages should be limited.
--joc-id
- Selects the JOC Cockpit ID available from the Deployment Descriptor file to which creation of Deployment Packages should be limited.
--workflow-parallelism
- Specifies the max. number of parallel deployments that should be executed by the Deployment Workflow.
- By default up to 100 parallel deployments are performed.
--workflow-timezone
- Specifies the time zone that will be applied to the Deployment Workflow. The time zone is relevant should users wish to modify the included deployment job for consideration of JS7 - Admission Times for Jobs.
--log-dir
- If a log directory is specified then the Packaging Script will log information about processing steps to a log file in this directory.
- File names are created according to the pattern:
deployment_package.<deployment-descriptor>.<hostname>.<yyyy>-<MM>-<dd>T<hh>-<mm>-<ss>.log
- For example:
deployment_package.agent-http-20221204.centostest_primary.2022-12-19T20-50-45.log
- The
--log-dir
option is forwarded to the installer scripts that will create individual log files in this directory.
...
-h | --help
- Displays usage.
--dry-run
- Performs a dry-run that will not create deployment packages but will create Installer Wrapper Scripts for JS7 components only.
- The wrapper scripts will make use of configuration items specified with the Deployment Descriptor and will parameterize execution of the Installer Scripts, see JS7 - Automated Installation and Update.
--keep-script
- This option is preferably used with the -
-dry-run
option to retain copies of the wrapper scripts for installation of jS7 components, see--dry-run
.
- This option is preferably used with the -
--keep-work
- Specifies that temporary installations of JS7 components in the working area will not be removed but will remain in place to allow checking the installation and configuration options in place.
--make-dirs
- If directories are missing that are indicated with the
--home
,--backup-dir
or--log-dir
options then they will be created.
- If directories are missing that are indicated with the
--show-logs
- Displays the log output created by the script if the
--log-dir
option is used. - The
--show-logs
option is forwarded to the installer scripts that will display individually created log files if the--log-dir
option is used.
- Displays the log output created by the script if the
...
Code Block | ||||
---|---|---|---|---|
| ||||
./js7_create_deployment_package.sh \ --deploy-desc=agent-http-20221204.json \ --keep-script \ --dry-run # makes use of the indicated Deployment Descriptor file that holds configuration items for Agents # performs a dry-run that will not create Deployment Packages but will generate wrapper scripts that parameterize calls to the Installer Scripts # works with default values for the location of the work area and the archive directory wo which wrapper scripts will be stored |
Create Deployment Package (parameterized)
Code Block | ||||
---|---|---|---|---|
| ||||
#!/bin/sh
set -e
SCRIPT_HOME=$(cd "$(dirname "$0")" >/dev/null && pwd)
DEP_ARCHIVE=${DEP_ARCHIVE:-$(dirname "${SCRIPT_HOME}")/archive}
DEP_BIN=${DEP_BIN:-$(dirname "${SCRIPT_HOME}")/bin}
DEP_CONFIG=${DEP_CONFIG:-$(dirname "${SCRIPT_HOME}")/config}
DEP_DESC=${DEP_DESC:-$(dirname "${SCRIPT_HOME}")/desc}
DEP_LOGS=${DEP_LOGS:-$(dirname "${SCRIPT_HOME}")/logs}
DEP_WORK=${DEP_WORK:-$(dirname "${SCRIPT_HOME}")/work}
${DEP_BIN}/js7_create_deployment_package.sh \
--deploy-desc=${DEP_DESC}/agent-controller-joc-https-20221204.json \
--deploy-dir=${DEP_CONFIG} \
--archive-dir=${DEP_ARCHIVE} \
--script-dir=${DEP_BIN} \
--work-dir=${DEP_WORK} \
--log-dir=${DEP_LOGS} \
--deploy-agent-id=deploymentAgent \
--keep-script \
--keep-work \
--show-logs \
--make-dirs
# makes use of the indicated Deployment Descriptor file that holds configuration items for Agents
# works with specific values for directories
# keeps copies of the installer scripts and installations in the work area
# creates log files in the indicated directory and forwards the location to installer scripts |
Resources
...
Overview
Content Tools