Files
ado-sk-toolkit-extension/README.md

2.2 KiB

SK Azure DevOps Toolkit

Developer README for the Azure DevOps extension codebase.

For administrator-facing installation and usage guidance, see overview.md.

Tasks in this extension

  • AzureFederatedAuth@1
    • Requests an OIDC token for a selected AzureRM service connection (workload identity federation).
    • Exports:
      • ARM_OIDC_TOKEN (secret)
      • ARM_TENANT_ID
      • ARM_CLIENT_ID
      • GIT_ACCESS_TOKEN (secret, optional)
  • CopyBlob@1
    • Copies a blob between Azure Storage accounts/containers using the selected AzureRM service connection.
  • ListBlobs@1
    • Lists blobs in a container (optional prefix) using the selected AzureRM service connection.
  • GetBlob@1
    • Downloads a blob to a local file path using the selected AzureRM service connection.
  • PutBlob@1
    • Uploads a local file as a blob using the selected AzureRM service connection.

Repository layout

  • task/AzureFederatedAuth - task implementation and manifest
  • task/CopyBlob - task implementation and manifest
  • task/ListBlobs - task implementation and manifest
  • task/GetBlob - task implementation and manifest
  • task/PutBlob - task implementation and manifest
  • shared - local npm package with shared OIDC/devops/blob helpers
  • scripts/build.sh - builds tasks and packages the extension
  • examples/azure-pipelines-smoke.yml - smoke pipeline example

Local development

Prerequisites:

  • Node.js (LTS)
  • npm

Install dependencies:

npm install

Build and package extension:

./scripts/build.sh

Build flow details:

  • builds shared package,
  • packs it to build/ado-sk-toolkit-shared.tgz,
  • installs that tarball into each task,
  • compiles all tasks and creates VSIX.

Build output:

  • shared package tarball in build/ado-sk-toolkit-shared.tgz
  • Task JavaScript output in each task's dist/
  • Extension package (.vsix) in build/

Validation pipeline

Use examples/azure-pipelines-smoke.yml to validate task execution end-to-end in Azure Pipelines.

Publishing notes (maintainers)

Publishing requires a Visual Studio Marketplace publisher and sharing the published extension with target Azure DevOps organizations.

Author

Slawomir Koszewski

License

MIT. See LICENSE.