Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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 extract Deployment Packages on target hosts.
    • the run_rollout_agent.sh, run_rollout_controller.sh, run_rollout_joc.sh Rollout Scripts that are used to transfer tarball Deployment Packages to target hosts and to execute Deployment Scripts.
    • the js7_import.tar.gz archive for import by JOC Cockpit. The archive includes
      • the JS7 - Deployment Workflow including a calendar and schedule for import with the Configuration view. The objects can be used for automated rollout of Deployment Packages.
      • the Agent configuration of the Deployment Descriptor for import with the Manage Controllers/Agents view.
  • Find details about the directories and files created by the Packaging Script see JS7 - Deployment Area - Directory Layout.
  • 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 of JS7 by JS7 users and by SOS within the scope of professional services.

...

Code Block
titleDeployment 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
    --config-dir=<directory>           | required: path to configuration directory, default: ../config
    --work-dir=<directory>             | required: path to working directory, default: ../work
    --archive-dir=<directory>          | required: path to archive directory, default: ../archive
    --release-dir=<directory>          | required: path to release directory holding JS7 installation files, default: ../release
    --script-dir=<directory>           | optional: path to script directory, default: ../bin
    --deploy-agent-id=<identifier>     | optional: Agent ID executing the deployment workflow, default: primaryAgent
    --agent-id=<id[,id]>               | optional: list of Agent IDs to which processing will be limited
    --controller-id=<id[,id]>          | optional: list of Controller IDs to which processing will be limited
    --joc-id=<id[,id]>                 | optional: list of JOC Cockpit IDs to which processing will be limited
    --workflow-parallelism=<number>    | optional: max. parallel processes in deployment workflow, default: 100
    --workflow-timezone=<number>       | optional: time zone of the 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
    --make-dirs                        | creates the specified directories if they do not exist
    --keep-script                      | keep install script in archive directory
    --keep-work                        | keep temporary installation in work directory
    --show-logs                        | shows log output of the script

Options

  • --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.
  • --config-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 Area.
  • --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 Area.
  • --archive-dir
    • Specifies the directory to which deployment packages are stored.
    • By default the ../archive directory is used, see JS7 - Deployment Server.
  • --release-dir
    • Specifies the directory in which the .tar.gz installer files for JS7 releases are stored.
    • By default the ../release directory is used, see JS7 - Deployment Area.
  • --script-dir
  • --deploy-agent-id
    • Specifies the name of the Agent that should execute jobs in 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 Agent IDs available from the Deployment Descriptor file to which creation of Deployment Packages should be limited.
    • If more than one Agent ID is specified the Agent IDs are separated by comma.
  • --controller-id
    • Selects the Controller IDs of Controllers available from the Deployment Descriptor file to which creation of Deployment Packages should be limited.
    • If more than one Controller ID is specified the Controller IDs are separated by comma.
    • Note that in a Controller Cluster its members use the same Controller ID, therefore Deployment Packages are created for all members.
  • --joc-id
    • Selects the JOC Cockpit IDs available from the Deployment Descriptor file to which creation of Deployment Packages should be limited.
    • If more than one JOC Cockpit ID is specified the JOC Cockpit IDs are separated by comma.
    • Note that in a JOC Cockpit Cluster its members use the same JOC Cockpit ID, therefore Deployment Packages are created for all members.
  • --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.

...