OctopusDeploy / OctoTFS

| Public | Octopus extensions for Azure DevOps, TFS, VSTS, and VSO
https://marketplace.visualstudio.com/items?itemName=octopusdeploy.octopus-deploy-build-release-tasks
Other
0 stars 42 forks source link

Removing dependency on embedded OctopusCLI #223

Closed johnsimons closed 2 years ago

johnsimons commented 2 years ago

The purpose of this PR is to reduce the need for the following dependencies:

  1. ship an embedded version of Octopus CLI
  2. use a "portable" version of the Octopus CLI

Going forward, pipelines should include the Octopus CLI Installer task. Customers should not assume availability of the embedded version included in this plugin. This change requires maintenance by users for the benefit of more control; to specify the version of the Octopus CLI. It also removes the dependency to include .NET Core, which has caused problems for customers if/when dependencies change.

This PR includes a new version of the Octopus CLI Installer task that downloads a self-contained version of the Octopus CLI. We continue to support having the Octopus CLI pre-installed in the agent and added to the PATH environment variable.

We also took this opportunity to deprecate the OctopusPack task in favour of the built it ArchiveFiles task instead.

One last change, the OctopusCreateRelease task now supports adding release notes in a text field directly as part of creation (this functionality was considered legacy in V4).

johnsimons commented 2 years ago

@slewis74

I'm not sure about removing the Pack step. If we're keeping the CLI for now, then should we remove it? I guess you could still use the V4 Pack step, right?

You can use V4, but the question is why? I thought we agreed zip is what the majority of people need? Have I missed any other edge cases?

johnsimons commented 2 years ago

@slewis74

Create Release, I'd like to see us drop the Deployment parts off this step, it should be just about creating a release. The CLI should be creating an output variable that can be used to get the Version number in the subsequent step, if necessary.

I didn't want to change too much in this release, should we raise a public issue for each change? How do we migrate users from CreateRelease + Deployment to just CreateRelease?

johnsimons commented 2 years ago

@slewis74

Create Release, the Changeset code is legacy and should be removed.

I have removed it

I think we should retain the free text and also the filename,

I have kept the text form, not the filename, given it was not exposed in the UI before, users can always fall back to the "additional args" for it?

johnsimons commented 2 years ago

@slewis74 it seems you are happy to merge this, can I get the PR approved, 🙇