Introduction
The Packaging Script is used in the JS7 - Deployment process for on-premises installations
- to install JS7 components such as JOC Cockpit, Controller, Agent in a temporary environment,
- to create .tar..gz tarball 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 machines.
Packaging Script
The Packaging Script is provided for download and can be used to automate updates, upgrades and patches of JS7 Controllers.
- The script is available for Linux, MacOS® and AIX® using bash, dash, ksh and zsh POSIX-compatible shells.
- The script
- The script creates
- the
controller_instance.sh
Instance Start Script in the Controller'sbin
directory if no such file exists, - the
controller.service
systemd Service File in the Controller instance'sbin
directory, see JS7 - systemd Service Files for automated Startup and Shutdown with Unix Systems.
- the
- The script terminates with exit code 0 to signal success, with exit code 1 for command line argument errors and with exit code 2 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.
- Refer also to information in the JS7 - Controller Command Line Operation article.
Download
Find the Controller Installer Script for download from JS7 - Download.
Usage
Invoking the Packaging Script without arguments displays the usage clause:
Packaging Script js7_create_deployment_package.sh
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: ./deploy --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 --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 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 --show-logs | shows log output of the script
Packaging Options
--deploy-desc
- Specifies the directory in which the Controller should be installed.
--deploy-dir
- Specifies the directory in which the Controller data such as configuration files should be stored.
- By default the
<home>/var
directory is used, see option--home
.
--work-dir
- Specifies the directory from which the Controller reads configuration files.
- By default the
<data>/config
directory is used, see option--data
.
--archive-dir
- Specifies the directory from which the Controller reads configuration files.
--script-dir
- Specifies the directory from which the Controller reads configuration files.
--deploy-agent-id
- Specifies the directory from which the Controller reads configuration files.
--agent-id
- Specifies the directory from which the Controller reads configuration files.
--controller-id
- Specifies the directory from which the Controller reads configuration files.
--workflow-parallelism
- Specifies the directory from which the Controller reads configuration files.
--workflow-timezone
- Specifies the directory from which the Controller reads configuration files.
Switches
-h | --help
- Displays usage.
--dry-run
- Displays the log output created by the script.
--keep-script
- Displays the log output created by the script.
--keep-work
- Displays the log output created by the script.
--show-logs
- Displays the log output created by the script.
Examples
The following examples illustrate typical use cases.
Create Deployment Package
Example for use of Controller Installer Script
./js7_create_deployment_package.sh \ --deploy-desc=multi-agent-20221204.json # downloads the indicated Controller release and extracts the tarball to the specified Controller home directory # the home directory is created if it does not exist
perform dry-run to receive Installer Scripts
Example for use of Controller Installer Script
./js7_create_deployment_package.sh \ --deploy-desc=multi-agent-20221204.json \ --keep-script \ --dry-run # the indicated deployment descriptor files is used that holds configuration items for Agents and Controllers # performs a dry-run that will not create packages but parameterized calls to the Installer Scripts
Overview
Content Tools