Environment's Offline Deployment

An environment's offline deployment is used for deploying environments to a server not from Studio.

Offline Deployment using deploy-environment.sh

Run deploy-environment.sh to deploy the environment configuration from a build server or CI/CD pipeline. The script is located under $K2_HOME/fabric/scripts and supports both local and remote deployment:

  • Local deploy — connects to a running Fabric instance on the same machine via the Fabric CLI.
  • Remote deploy — uses the Fabric HTTP API (-r flag). Does not require a local Fabric installation.

Usage:

./deploy-environment.sh [options]

Options:

Option

Description

Mandatory

Default

-host / --host

Fabric host (IP address or URL).

N

localhost

-port / --port

Fabric port.

N

5124 (when host is localhost)

-u / --username

Fabric username.

N

admin

-p / --password

Fabric password.

N

admin

-t / --token

API token for authentication. Takes precedence over username/password.

N

-pd / --project-dir

Path to the project directory. Used to locate the default environment file.

N

-ef / --environment-file

Path to the environment XML file.

N

<project>/Implementation/SharedObjects/Environments/Environments.k2fabEnv.xml

-e / --environment

Environment name to set as active after deployment.

N

-r / --remote-deploy

Enable remote deployment via HTTP API.

N

false

-h / --help

Displays usage information.

N

In local mode, the script runs two operations: deploys the environment file, then sets the active environment (if -e is provided).

Example — deploy environment file and activate it on a remote server:

./deploy-environment.sh \
  -pd /opt/apps/MyProject \
  -host 10.0.0.5 \
  -t $API_TOKEN \
  -r \
  -e Production

Offline Deployment using the Fabric Console

Perform the following actions:

  1. Connect to a server using the Fabric Console.

  2. Copy the Environments.k2fabEnv.XML file from the following Windows location - [Fabric Project’s Directory]\[Project Name]\Implementation\SharedObjects\Environments - or manually edit the existing XML file.

  3. Deploy the environments file using the following command:

   Deploy environments from file ‘{filename}’

where {filename} includes the file’s path and name on the server.

Fabric encrypts the passwords in the file (if they are not already encrypted) and saves the XML file with the encrypted passwords.

Note that deploying an XML file overrides all existing environments - except for _dev - which is the default environment. If the environment exists in Fabric, but not in the deployed XML file, it is removed from Fabric.

Offline Deployment using API calls

Request URL Format

POST https://<FABRIC-IP>:<FABRIC-PORT>/deployEnvironment?[token=<APIKEY>][user=<USER-NAME>&password=<PASSWORD>][&environment=<ENVIRONMENT-TO-SET>]

Parameters

Parameter

Description

Mandatory

environment

When sent, the target Fabric server sets this environment to be active, similar to running "SET_GLOBAL ENVIRONMENT" command.

N

Authentication & Authorization

  • Authentication is done by either user and password (user & password parameters) or by an API Key (token parameter), that shall be sent as parameters.
  • The request caller shall be authorized with the right permissions to perform the deploy (granted with "DEPLOY_ENVIRONMENTS" permission). See here for more information.

Request Body

Body parameters, along with the deployment files, to be sent with ContentType header = multipart/form-data.

Parameter

Description

Mandatory

file

Path to the Environments XML file

Y

Previous

Environment's Offline Deployment

An environment's offline deployment is used for deploying environments to a server not from Studio.

Offline Deployment using deploy-environment.sh

Run deploy-environment.sh to deploy the environment configuration from a build server or CI/CD pipeline. The script is located under $K2_HOME/fabric/scripts and supports both local and remote deployment:

  • Local deploy — connects to a running Fabric instance on the same machine via the Fabric CLI.
  • Remote deploy — uses the Fabric HTTP API (-r flag). Does not require a local Fabric installation.

Usage:

./deploy-environment.sh [options]

Options:

Option

Description

Mandatory

Default

-host / --host

Fabric host (IP address or URL).

N

localhost

-port / --port

Fabric port.

N

5124 (when host is localhost)

-u / --username

Fabric username.

N

admin

-p / --password

Fabric password.

N

admin

-t / --token

API token for authentication. Takes precedence over username/password.

N

-pd / --project-dir

Path to the project directory. Used to locate the default environment file.

N

-ef / --environment-file

Path to the environment XML file.

N

<project>/Implementation/SharedObjects/Environments/Environments.k2fabEnv.xml

-e / --environment

Environment name to set as active after deployment.

N

-r / --remote-deploy

Enable remote deployment via HTTP API.

N

false

-h / --help

Displays usage information.

N

In local mode, the script runs two operations: deploys the environment file, then sets the active environment (if -e is provided).

Example — deploy environment file and activate it on a remote server:

./deploy-environment.sh \
  -pd /opt/apps/MyProject \
  -host 10.0.0.5 \
  -t $API_TOKEN \
  -r \
  -e Production

Offline Deployment using the Fabric Console

Perform the following actions:

  1. Connect to a server using the Fabric Console.

  2. Copy the Environments.k2fabEnv.XML file from the following Windows location - [Fabric Project’s Directory]\[Project Name]\Implementation\SharedObjects\Environments - or manually edit the existing XML file.

  3. Deploy the environments file using the following command:

   Deploy environments from file ‘{filename}’

where {filename} includes the file’s path and name on the server.

Fabric encrypts the passwords in the file (if they are not already encrypted) and saves the XML file with the encrypted passwords.

Note that deploying an XML file overrides all existing environments - except for _dev - which is the default environment. If the environment exists in Fabric, but not in the deployed XML file, it is removed from Fabric.

Offline Deployment using API calls

Request URL Format

POST https://<FABRIC-IP>:<FABRIC-PORT>/deployEnvironment?[token=<APIKEY>][user=<USER-NAME>&password=<PASSWORD>][&environment=<ENVIRONMENT-TO-SET>]

Parameters

Parameter

Description

Mandatory

environment

When sent, the target Fabric server sets this environment to be active, similar to running "SET_GLOBAL ENVIRONMENT" command.

N

Authentication & Authorization

  • Authentication is done by either user and password (user & password parameters) or by an API Key (token parameter), that shall be sent as parameters.
  • The request caller shall be authorized with the right permissions to perform the deploy (granted with "DEPLOY_ENVIRONMENTS" permission). See here for more information.

Request Body

Body parameters, along with the deployment files, to be sent with ContentType header = multipart/form-data.

Parameter

Description

Mandatory

file

Path to the Environments XML file

Y

Previous