> For the complete CircleCI developer hub index, see [llms.txt](https://circleci.com/developer/llms.txt)

# octopus-samples/octo-exp

Experimental orb for working with the Octopus CLI. This orb is provided as-is, with no support available.

Email circleci@octopus.com if you have questions about the orb.


## Commands

### build-information

| Parameter | Type | Default | Description |
|---|---|---|---|
| `api_key` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing your API key. Get this from the user profile page.
You must provide an apiKey or username and password. If the guest account is enabled, a key of API-GUEST
can be used. This key can also be set in the OCTOPUS_CLI_API_KEY environment variable.
 |
| `config_file` | string |  | [Optional] Text file of default values, with one 'key = value' per line. |
| `debug` | boolean | false | [Optional] Enable debug logging. |
| `ignore_ssl_errors` | boolean | false | [Optional] Set this flag if your Octopus Server uses HTTPS but the certificate is not trusted on
this machine. Any certificate errors will be ignored. WARNING: this option may create a
security vulnerability.
 |
| `log_level` | string |  | [Optional] The log level. Valid options are verbose, debug, information, warning, error and fatal. Defaults to 'debug'.
 |
| `overwrite_mode` | string | FailIfExists |  |
| `package_id` | string |  | The ID of the package. Specify multiple packages by specifying this argument multiple times:
--package-id 'MyCompany.MyApp' --package-id 'MyCompany.MyApp2'.
 |
| `pass` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the password to use when authenticating with the server. This Password can also be set
in the OCTOPUS_CLI_PASSWORD environment variable.
 |
| `proxy` | string |  | [Optional] The URL of the proxy to use, e.g., 'https://proxy.example.com'. |
| `proxy_pass` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the password for the proxy. If both the username and password are omitted and
proxyAddress is specified, the default credentials are used.
 |
| `proxy_user` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the username for the proxy. |
| `server` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the base URL for your Octopus Server, e.g., 'https://octopus.example.com/'. This URL
can also be set in the OCTOPUS_CLI_SERVER environment variable.
 |
| `space` | string |  | [Optional] The name or ID of a space within which this command will be executed. The default space will be used if it is omitted. |
| `timeout` | string |  | [Optional] Timeout in seconds for network operations. Default is 600. |
| `user` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the username to use when authenticating with the server. You must provide an apiKey or
username and password. This Username can also be set in the OCTOPUS_CLI_USERNAME environment
variable.
 |
| `version` | string |  |  |

### create-release

Creates (and, optionally, deploys) a release.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `api_key` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing your API key. Get this from the user profile page.
You must provide an apiKey or username and password. If the guest account is enabled, a key of API-GUEST
can be used. This key can also be set in the OCTOPUS_CLI_API_KEY environment variable.
 |
| `cancel_on_timeout` | boolean | false | [Optional] Whether to cancel the deployment if the deployment timeout is reached (flag, default false).
 |
| `channel` | string |  | [Optional] Name or ID of the channel to use for the new release. Omit this argument to
automatically select the best channel.
 |
| `config_file` | string |  | [Optional] Text file of default values, with one 'key = value' per line. |
| `debug` | boolean | false | [Optional] Enable debug logging. |
| `deploy_at` | string |  | [Optional] Time at which deployment should start (scheduled deployment), specified as any valid
DateTimeOffset format, and assuming the time zone is the current local time zone.
 |
| `deploy_to` | string |  | [Optional] Name or ID of the environment to automatically deploy to, e.g., 'Production' or
'Environments-1'; specify this argument multiple times to deploy to multiple environments.
 |
| `deployment_check_sleep_cycle` | string |  | [Optional] Specifies how much time (timespan format) should elapse between deployment status checks (default 00:00:10)
 |
| `deployment_timeout` | string |  | [Optional] Specifies maximum time (timespan format) that the console session will wait for
the deployment to finish(default 00:10:00). This will not stop the deployment. Requires --
waitfordeployment parameter set.
 |
| `exclude_machines` | string |  | [Optional] A comma-separated list of machine names to exclude in the deployed environment. If
not specified all machines in the environment will be considered.
 |
| `force` | boolean | false | [Optional] If a project is configured to skip packages with already-installed versions, override this setting to force re-deployment (flag, default false).
 |
| `force_package_download` | boolean | false | [Optional] Whether to force downloading of already installed packages (flag, default false).
 |
| `guided_failure` | string |  | [Optional] Whether to use Guided Failure mode. (True or False. If not specified, will use default setting from environment)
 |
| `ignore_channel_rules` | boolean | false | [Optional, Flag] Create the release ignoring any version rules specified by the channel.
 |
| `ignore_existing` | boolean | false | [Optional, Flag] Don't create this release if there is already one with the same version number.
 |
| `ignore_ssl_errors` | boolean | false | [Optional] Set this flag if your Octopus Server uses HTTPS but the certificate is not trusted on
this machine. Any certificate errors will be ignored. WARNING: this option may create a
security vulnerability.
 |
| `log_level` | string |  | [Optional] The log level. Valid options are verbose, debug, information, warning, error and fatal. Defaults to 'debug'.
 |
| `no_deploy_after` | string |  | [Optional] Time at which scheduled deployment should expire, specified as any valid
DateTimeOffset format, and assuming the time zone is the current local time zone.
 |
| `no_raw_log` | boolean | false | [Optional] Don't print the raw log of failed tasks.
 |
| `package` | string |  | [Optional] Version number to use for a package in the release. Format: StepName:Version or
PackageID:Version or StepName:PackageName:Version. StepName, PackageID, and PackageName can be replaced with
an asterisk. An asterisk will be assumed for StepName, PackageID, or PackageName if they are omitted.
 |
| `package_prerelease` | string |  | [Optional] Pre-release for latest version of all packages to use for this release.
 |
| `package_version` | string |  | Default version number of all packages to use for this release.
 |
| `packages_folder` | string |  | [Optional] A folder containing packages from which we should get versions.
 |
| `pass` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the password to use when authenticating with the server. This Password can also be set
in the OCTOPUS_CLI_PASSWORD environment variable.
 |
| `progress` | boolean | false | [Optional] Show progress of the deployment.
 |
| `project` | string |  | Name or ID of the project. |
| `proxy` | string |  | [Optional] The URL of the proxy to use, e.g., 'https://proxy.example.com'. |
| `proxy_pass` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the password for the proxy. If both the username and password are omitted and
proxyAddress is specified, the default credentials are used.
 |
| `proxy_user` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the username for the proxy. |
| `raw_log_file` | string |  | [Optional] Redirect the raw log of failed tasks to a file.
 |
| `release_notes` | string |  | [Optional] Release Notes for the new release. Styling with Markdown is supported.
 |
| `release_notes_file` | string |  | [Optional] Path to a file that contains Release Notes for the new release. Supports Markdown files.
 |
| `release_number` | string |  | [Optional] Release number to use for the new release.
 |
| `server` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the base URL for your Octopus Server, e.g., 'https://octopus.example.com/'. This URL
can also be set in the OCTOPUS_CLI_SERVER environment variable.
 |
| `skip` | string |  | [Optional] Skip a step by name.
 |
| `space` | string |  | [Optional] The name or ID of a space within which this command will be executed. The default space will be used if it is omitted. |
| `specific_machines` | string |  | [Optional] A comma-separated list of machine names to target in the deployed environment.
If not specified all machines in the environment will be considered.
 |
| `tenant` | string |  | Create a deployment for the tenant with this name or ID; specify this argument multiple times
to add multiple tenants or use `*` wildcard to deploy to all tenants who are ready for this
release (according to lifecycle).
 |
| `tenant_tag` | string |  | Create a deployment for tenants matching this tag; specify this argument multiple times to
build a query/filter with multiple tags, just like you can in the user interface.
 |
| `timeout` | string |  | [Optional] Timeout in seconds for network operations. Default is 600. |
| `user` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the username to use when authenticating with the server. You must provide an apiKey or
username and password. This Username can also be set in the OCTOPUS_CLI_USERNAME environment
variable.
 |
| `variable` | string |  | [Optional] Values for any prompted variables in the format Label:Value. For JSON values,
embedded quotation marks should be escaped with a backslash.
 |
| `wait_for_deployment` | boolean | false | [Optional] Whether to wait synchronously for deployment to finish.
 |
| `what_if` | boolean | false | [Optional, Flag] Perform a dry run but don't actually create/deploy release.
 |

### deploy-release

Deploys a release.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `api_key` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing your API key. Get this from the user profile page.
You must provide an apiKey or username and password. If the guest account is enabled, a key of API-GUEST
can be used. This key can also be set in the OCTOPUS_CLI_API_KEY environment variable.
 |
| `cancel_on_timeout` | boolean | false | [Optional] Whether to cancel the deployment if the deployment timeout is reached (flag, default false).
 |
| `channel` | string |  | [Optional] Name or ID of the channel to use when getting the release to deploy.
 |
| `config_file` | string |  | [Optional] Text file of default values, with one 'key = value' per line. |
| `debug` | boolean | false | [Optional] Enable debug logging. |
| `deploy_at` | string |  | [Optional] Time at which deployment should start (scheduled deployment), specified as any valid
DateTimeOffset format, and assuming the time zone is the current local time zone.
 |
| `deploy_to` | string |  | [Optional] Name or ID of the environment to automatically deploy to, e.g., 'Production' or
'Environments-1'; specify this argument multiple times to deploy to multiple environments.
 |
| `deployment_check_sleep_cycle` | string |  | [Optional] Specifies how much time (timespan format) should elapse between deployment status checks (default 00:00:10)
 |
| `deployment_timeout` | string |  | [Optional] Specifies maximum time (timespan format) that the console session will wait for
the deployment to finish(default 00:10:00). This will not stop the deployment. Requires --
waitfordeployment parameter set.
 |
| `exclude_machines` | string |  | [Optional] A comma-separated list of machine names to exclude in the deployed environment. If
not specified all machines in the environment will be considered.
 |
| `force` | boolean | false | [Optional] If a project is configured to skip packages with already-installed versions, override this setting to force re-deployment (flag, default false).
 |
| `force_package_download` | boolean | false | [Optional] Whether to force downloading of already installed packages (flag, default false).
 |
| `guided_failure` | string |  | [Optional] Whether to use Guided Failure mode. (True or False. If not specified, will use default setting from environment)
 |
| `ignore_ssl_errors` | boolean | false | [Optional] Set this flag if your Octopus Server uses HTTPS but the certificate is not trusted on
this machine. Any certificate errors will be ignored. WARNING: this option may create a
security vulnerability.
 |
| `log_level` | string |  | [Optional] The log level. Valid options are verbose, debug, information, warning, error and fatal. Defaults to 'debug'.
 |
| `no_deploy_after` | string |  | [Optional] Time at which scheduled deployment should expire, specified as any valid
DateTimeOffset format, and assuming the time zone is the current local time zone.
 |
| `no_raw_log` | boolean | false | [Optional] Don't print the raw log of failed tasks.
 |
| `pass` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the password to use when authenticating with the server. This Password can also be set
in the OCTOPUS_CLI_PASSWORD environment variable.
 |
| `progress` | boolean | false | [Optional] Show progress of the deployment.
 |
| `project` | string |  | Name or ID of the project.
 |
| `proxy` | string |  | [Optional] The URL of the proxy to use, e.g., 'https://proxy.example.com'. |
| `proxy_pass` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the password for the proxy. If both the username and password are omitted and
proxyAddress is specified, the default credentials are used.
 |
| `proxy_user` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the username for the proxy. |
| `raw_log_file` | string |  | [Optional] Redirect the raw log of failed tasks to a file.
 |
| `release_number` | string |  | Version number of the release to deploy. Or specify latest for the latest release.
 |
| `server` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the base URL for your Octopus Server, e.g., 'https://octopus.example.com/'. This URL
can also be set in the OCTOPUS_CLI_SERVER environment variable.
 |
| `skip` | string |  | [Optional] Skip a step by name.
 |
| `space` | string |  | [Optional] The name or ID of a space within which this command will be executed. The default space will be used if it is omitted. |
| `specific_machines` | string |  | [Optional] A comma-separated list of machine names to target in the deployed environment.
If not specified all machines in the environment will be considered.
 |
| `tenant` | string |  | Create a deployment for the tenant with this name or ID; specify this argument multiple times
to add multiple tenants or use `*` wildcard to deploy to all tenants who are ready for this
release (according to lifecycle).
 |
| `tenant_tag` | string |  | Create a deployment for tenants matching this tag; specify this argument multiple times to
build a query/filter with multiple tags, just like you can in the user interface.
 |
| `timeout` | string |  | [Optional] Timeout in seconds for network operations. Default is 600. |
| `update_variables` | boolean | false | Overwrite the variable snapshot for the release by re-importing the variables from the project.
 |
| `user` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the username to use when authenticating with the server. You must provide an apiKey or
username and password. This Username can also be set in the OCTOPUS_CLI_USERNAME environment
variable.
 |
| `variable` | string |  | [Optional] Values for any prompted variables in the format Label:Value. For JSON values,
embedded quotation marks should be escaped with a backslash.
 |
| `wait_for_deployment` | boolean | false | [Optional] Whether to wait synchronously for deployment to finish.
 |

### install-tools

Install octo cli on current image.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `version` | string | 6.17.0 |  |

### pack

Creates a package (.nupkg or .zip) from files on disk, without needing a .nuspec or .csproj.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `author` | string |  | [Optional] Add an author to the NuGet package metadata; defaults to the current user. |
| `base_path` | string | . | [Optional] The root folder containing files and folders to pack; defaults to '.' |
| `compression_level` | string |  | [Optional] Set compression level of package: none, fast, optimal (default). |
| `description` | string |  | [Optional] A description of the NuGet package; defaults to a generic description. |
| `format` | string | Zip | Package format. Options are: NuPkg, Zip. |
| `id` | string |  | The ID of the package; e.g. MyCompany.MyApp |
| `include` | string |  | [Optional] Add a file pattern to include, relative to the base path e.g. /bin/*.dll - if none are specified, defaults to **
 |
| `log_level` | string | debug | [Optional] The log level. Valid options are verbose, debug, information, warning, error and fatal. Defaults to 'debug'. |
| `out_folder` | string | . | [Optional] The folder into which the generated package file will be written; defaults to '.' |
| `overwrite` | boolean | false | Allow an existing package file of the same ID/version to be overwritten. |
| `release_notes` | string |  | [Optional] Release notes for this version of the NuGet package. |
| `release_notes_file` | string |  | [Optional] A file containing release notes for this version of the package. |
| `title` | string |  | [Optional] The title of the NuGet package. |
| `verbose` | boolean | false | [Optional] verbose output. |
| `version` | string |  | [Optional] The version of the package; must be a valid SemVer; defaults to a timestamp-based version. |

### promote-release

Promotes a release.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `api_key` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing your API key. Get this from the user profile page.
You must provide an apiKey or username and password. If the guest account is enabled, a key of API-GUEST
can be used. This key can also be set in the OCTOPUS_CLI_API_KEY environment variable.
 |
| `cancel_on_timeout` | boolean | false | [Optional] Whether to cancel the deployment if the deployment timeout is reached (flag, default false).
 |
| `config_file` | string |  | [Optional] Text file of default values, with one 'key = value' per line. |
| `debug` | boolean | false | [Optional] Enable debug logging. |
| `deploy_at` | string |  | [Optional] Time at which deployment should start (scheduled deployment), specified as any valid
DateTimeOffset format, and assuming the time zone is the current local time zone.
 |
| `deployment_check_sleep_cycle` | string |  | [Optional] Specifies how much time (timespan format) should elapse between deployment status checks (default 00:00:10)
 |
| `deployment_timeout` | string |  | [Optional] Specifies maximum time (timespan format) that the console session will wait for
the deployment to finish(default 00:10:00). This will not stop the deployment. Requires --
waitfordeployment parameter set.
 |
| `exclude_machines` | string |  | [Optional] A comma-separated list of machine names to exclude in the deployed environment. If
not specified all machines in the environment will be considered.
 |
| `force` | boolean | false | [Optional] If a project is configured to skip packages with already-installed versions, override this setting to force re-deployment (flag, default false).
 |
| `force_package_download` | boolean | false | [Optional] Whether to force downloading of already installed packages (flag, default false).
 |
| `from` | string |  | Name or ID of the environment to get the current deployment from, e.g., 'Staging' or 'Environments-2'.
 |
| `guided_failure` | string |  | [Optional] Whether to use Guided Failure mode. (True or False. If not specified, will use default setting from environment)
 |
| `ignore_ssl_errors` | boolean | false | [Optional] Set this flag if your Octopus Server uses HTTPS but the certificate is not trusted on
this machine. Any certificate errors will be ignored. WARNING: this option may create a
security vulnerability.
 |
| `log_level` | string |  | [Optional] The log level. Valid options are verbose, debug, information, warning, error and fatal. Defaults to 'debug'.
 |
| `no_deploy_after` | string |  | [Optional] Time at which scheduled deployment should expire, specified as any valid
DateTimeOffset format, and assuming the time zone is the current local time zone.
 |
| `no_raw_log` | boolean | false | [Optional] Don't print the raw log of failed tasks.
 |
| `pass` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the password to use when authenticating with the server. This Password can also be set
in the OCTOPUS_CLI_PASSWORD environment variable.
 |
| `progress` | boolean | false | [Optional] Show progress of the deployment.
 |
| `project` | string |  | Name or ID of the project.
 |
| `proxy` | string |  | [Optional] The URL of the proxy to use, e.g., 'https://proxy.example.com'. |
| `proxy_pass` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the password for the proxy. If both the username and password are omitted and
proxyAddress is specified, the default credentials are used.
 |
| `proxy_user` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the username for the proxy. |
| `raw_log_file` | string |  | [Optional] Redirect the raw log of failed tasks to a file.
 |
| `server` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the base URL for your Octopus Server, e.g., 'https://octopus.example.com/'. This URL
can also be set in the OCTOPUS_CLI_SERVER environment variable.
 |
| `skip` | string |  | [Optional] Skip a step by name.
 |
| `space` | string |  | [Optional] The name or ID of a space within which this command will be executed. The default space will be used if it is omitted. |
| `specific_machines` | string |  | [Optional] A comma-separated list of machine names to target in the deployed environment.
If not specified all machines in the environment will be considered.
 |
| `tenant` | string |  | Create a deployment for the tenant with this name or ID; specify this argument multiple times
to add multiple tenants or use `*` wildcard to deploy to all tenants who are ready for this
release (according to lifecycle).
 |
| `tenant_tag` | string |  | Create a deployment for tenants matching this tag; specify this argument multiple times to
build a query/filter with multiple tags, just like you can in the user interface.
 |
| `timeout` | string |  | [Optional] Timeout in seconds for network operations. Default is 600. |
| `to` | string |  | Name or ID of the environment to deploy to, e.g, 'Production' or 'Environments-1'.
 |
| `update_variables` | boolean | false | Overwrite the variable snapshot for the release by re-importing the variables from the project.
 |
| `user` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the username to use when authenticating with the server. You must provide an apiKey or
username and password. This Username can also be set in the OCTOPUS_CLI_USERNAME environment
variable.
 |
| `variable` | string |  | [Optional] Values for any prompted variables in the format Label:Value. For JSON values,
embedded quotation marks should be escaped with a backslash.
 |
| `wait_for_deployment` | boolean | false | [Optional] Whether to wait synchronously for deployment to finish.
 |

### push

Pushes a package (.nupkg, .zip, .tar.gz, etc.) package to the built-in NuGet repository in an Octopus Server.

| Parameter | Type | Default | Description |
|---|---|---|---|
| `api_key` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing your API key. Get this from the user profile page.
You must provide an apiKey or username and password. If the guest account is enabled, a key of API-GUEST
can be used. This key can also be set in the OCTOPUS_CLI_API_KEY environment variable.
 |
| `config_file` | string |  | [Optional] Text file of default values, with one 'key = value' per line. |
| `debug` | boolean | false | [Optional] Enable debug logging. |
| `ignore_ssl_errors` | boolean | false | [Optional] Set this flag if your Octopus Server uses HTTPS but the certificate is not trusted on
this machine. Any certificate errors will be ignored. WARNING: this option may create a
security vulnerability.
 |
| `log_level` | string |  | [Optional] The log level. Valid options are verbose, debug, information, warning, error and fatal. Defaults to 'debug'.
 |
| `overwrite_mode` | string | FailIfExists | If the package already exists in the repository, the default behavior is to reject the new
package being pushed (FailIfExists). You can use the overwrite mode to OverwriteExisting or IgnoreIfExists.
 |
| `package` | string |  | Package file to push. |
| `pass` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the password to use when authenticating with the server. This Password can also be set
in the OCTOPUS_CLI_PASSWORD environment variable.
 |
| `proxy` | string |  | [Optional] The URL of the proxy to use, e.g., 'https://proxy.example.com'. |
| `proxy_pass` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the password for the proxy. If both the username and password are omitted and
proxyAddress is specified, the default credentials are used.
 |
| `proxy_user` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the username for the proxy. |
| `server` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the base URL for your Octopus Server, e.g., 'https://octopus.example.com/'. This URL
can also be set in the OCTOPUS_CLI_SERVER environment variable.
 |
| `space` | string |  | [Optional] The name or ID of a space within which this command will be executed. The default space will be used if it is omitted. |
| `timeout` | string |  | [Optional] Timeout in seconds for network operations. Default is 600. |
| `use_delta_compression` | boolean | true | Allows disabling of delta compression when uploading packages to the Octopus Server. (True
or False. Defaults to true.)
 |
| `user` | env_var_name | NOT_PROVIDED | [Optional] The name of the environment variable storing the username to use when authenticating with the server. You must provide an apiKey or
username and password. This Username can also be set in the OCTOPUS_CLI_USERNAME environment
variable.
 |

## Executors

### default

Use the base CircleCI image by default


## Examples

### build-information

Create and upload build-information to Octopus.

```yaml
jobs:
  build:
    executor:
      name: octo-exp/default
    steps:
      - octo-exp/install-tools
      - octo-exp/build-information:
          api_key: OCTOPUS_API_KEY
          package_id: OctopusSamples.OctoPetShop.Database
          server: OCTOPUS_SERVER_URL
          version: 1.2.3
orbs:
  octo-exp: octopus-samples/octo-exp@0.0.3
version: 2.1
```

### create-release

Create an Octopus release.

```yaml
jobs:
  build:
    executor:
      name: octo-exp/default
    steps:
      - octo-exp/install-tools
      - octo-exp/create-release:
          api_key: OCTOPUS_API_KEY
          project: OctoPetShop
          release_number: 1.2.3
          server: OCTOPUS_SERVER_URL
orbs:
  octo-exp: octopus-samples/octo-exp@0.0.3
version: 2.1
```

### deploy-release

Deploy an existing Octopus release.

```yaml
jobs:
  build:
    executor:
      name: octo-exp/default
    steps:
      - octo-exp/install-tools
      - octo-exp/deploy-release:
          api_key: OCTOPUS_API_KEY
          deploy_to: Development
          progress: true
          project: OctoPetShop
          release_number: 1.2.3
          server: OCTOPUS_SERVER_URL
orbs:
  octo-exp: octopus-samples/octo-exp@0.0.3
version: 2.1
```

### install-tools

Install the Octo CLI on the container.

```yaml
jobs:
  build:
    executor:
      name: octo-exp/default
    steps:
      - octo-exp/install-tools
      - checkout
orbs:
  octo-exp: octopus-samples/octo-exp@0.0.3
version: 2.1
```

### pack

Create an Octopus package.

```yaml
jobs:
  build:
    executor:
      name: octo-exp/default
    steps:
      - octo-exp/install-tools
      - checkout
      - octo-exp/pack:
          base_path: publish/OctopusSamples.OctoPetShop.Database
          id: OctopusSamples.OctoPetShop.Database
          out_folder: package
          version: 1.2.3
orbs:
  octo-exp: octopus-samples/octo-exp@0.0.3
version: 2.1
```

### promote-release

Promote a release in one environment to another.

```yaml
jobs:
  build:
    executor:
      name: octo-exp/default
    steps:
      - octo-exp/install-tools
      - octo-exp/deploy-release:
          api_key: OCTOPUS_API_KEY
          from: Development
          progress: true
          project: OctoPetShop
          server: OCTOPUS_SERVER_URL
          to: Test
orbs:
  octo-exp: octopus-samples/octo-exp@0.0.3
version: 2.1
```

### push

Push a package to Octopus.

```yaml
jobs:
  build:
    executor:
      name: octo-exp/default
    steps:
      - octo-exp/install-tools
      - checkout
      - octo-exp/push:
          api_key: OCTOPUS_API_KEY
          package: package/OctopusSamples.OctoPetShop.Database.1.2.3.zip
          server: OCTOPUS_SERVER_URL
orbs:
  octo-exp: octopus-samples/octo-exp@0.0.3
version: 2.1
```