Octopus Deploy

Use Feedz as a package feed for Octopus Deploy. Push packages with the Octopus CLI, use automatic repackaging to avoid manual nupkg conversion, and trigger Octopus releases automatically when a package is uploaded.

Repackaging

Your CI pipeline doesn't need to produce a NuGet package. Just zip the build output and push it to Feedz — when Octopus requests the package, Feedz converts it to .nupkg format on the fly. No extra build steps or packaging tooling required.

See Automatic Repackaging for how to enable it and the supported archive formats.

Pushing packages with the Octopus CLI

The Octopus CLI (octopus) supports pushing packages directly to a Feedz generic repository and uses delta compression to reduce transfer time for large packages with incremental changes.

Install the Octopus CLI by following the instructions at octopus.com/docs/octopus-rest-api/cli, then push a package:

octopus package upload \
  --package MyApp.1.3.0.zip \
  --feed-uri https://f.feedz.io/my-org/my-repo \
  --api-key <your-token>
Use a service account token as the API key in CI/CD pipelines rather than a personal access token.

To overwrite an existing version, add the --overwrite-mode OverwriteExisting flag:

octopus package upload \
  --package MyApp.1.3.0.zip \
  --feed-uri https://f.feedz.io/my-org/my-repo \
  --api-key <your-token> \
  --overwrite-mode OverwriteExisting

Automatic release creation

Feedz can create an Octopus release automatically whenever a matching package is uploaded. This removes the need for a separate release creation step in your pipeline.

Triggers are configured on the Triggers tab of the repository in the Feedz portal. To add a trigger:

  1. Click Add Trigger on the Triggers tab
  2. Enter the package ID that should fire the trigger
  3. Optionally enter a version range to restrict which versions fire the trigger
  4. Optionally enter a regex to match on the pre-release tag (e.g. only fire on -rc tags)
  5. Enter the Octopus project for which to create the release
  6. Optionally enter the Octopus channel

When a matching package is uploaded, Feedz queues a task to create the release. The task status and logs are visible on the Tasks tab of the repository.

Setup

To connect Feedz to your Octopus server:

  1. Create an API key in Octopus. The user associated with the key needs create release and related view permissions for release creation triggers, and create feed permission for the feed integration.
  2. In Feedz, open the repository and go to the Octopus Deploy tab.
  3. Click Change and enter the public address of your Octopus server and the API key.
  4. Click Update, then Test to verify the connection.

Once connected, Feedz can register itself as a feed in Octopus automatically. For private repositories, a personal access token is created and stored in Octopus as the feed credential.