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 41 forks source link
public

OctoTFS

OctoTFS is a set of packaging and release tasks and a widget for using Octopus Deploy with Azure DevOps and Team Foundation Server (TFS).

Azure DevOps was formerly known as Visual Studio Team Services (VSTS) and Visual Studio Online (VSO).

OctoTFS is made up of several tasks to make it easy to integrate TFS and ADO with Octopus Deploy. This is packaged up as a web extension that can be installed in TFS or ADO.

TFS / Azure DevOps Web Extension Custom Tasks

To learn more about how to use the extension and custom tasks, read the VSTS README.

This extension provides a friendly interface to the Octopus CLI which does the heavy lifting to integrate.

Dev

Microsoft TFS/ADO web extensions are powered by Node.js under the hood. Simply open the repo with your favourite text editor like Jetbrains WebStorm or Visual Studio Code and you're good to go.

Building

Prerequisites

NOTE: PowerShell is required if you intend to publish the extension either to a local TFS instance or otherwise.

How to build and package the extension

Microsoft's web extension tooling is cross platform so you can run this on Windows or macOS.

Build

Run the following at a commandline.

This will generate the full extension content required to create the extension VSIX.

Packaging

In order to package and test the extension on a local TFS instance, without publishing to the marketplace, you can run the following at a PowerShell command prompt.

./pack.ps1 -environment localtest -version "x.x.x"

Releasing

To create a new release:

How to test the extension

If you're doing updates, enhancements, or bug fixes, the fastest development flow is to code locally, build, package and deploy locally. Once your changes are stable, it's a good idea to deploy to Test for further testing, and finally Production.

Local

It's highly recommended to set up two Virtual Machines running Windows Server. This is generally done locally, and it's best to give your VM at least 8 gigs of memory and 4 CPU cores, otherwise the TFS/ADO installation can fail or take hours.

  1. Microsoft TFS Server 2017 Update 1 - This is the first version of TFS that supported extensions, so it's very good for regression testing.
  2. Microsoft Azure DevOps Server vLatest - This is the on-prem version of Microsoft's hosted Azure DevOps services/tooling. It's generally faster/easier to test this locally than continually publishing to the Azure DevOps Marketplace.

To install locally, build and package the application as per the instructions above. Then install the extension by uploading it. Instructions to do this are available in Microsoft's TFS/ADO docs.

Additional tips

Testing Gotchas

Test environment

Octopus staff can publish an extension for testing which is wired up to a test Azure DevOps organization. This is a great area for further live testing against the latest and greatest release of Azure DevOps.

NOTE: See the OctopusHQ Confluence for further details on gaining access to the Azure DevOps (aka VSTS) test environment.

Production environment

Octopus staff can publish an extension for production use.

NOTE: See the OctopusHQ Confluence for further details on gaining access to the Azure DevOps (aka VSTS) production/live environment.

Other Useful Links