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

87 lines
2.4 KiB
Markdown

# 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:
```bash
npm install
```
Build and package extension:
```bash
./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
## AI Generated Content
Parts of this repository were generated with the assistance of AI. The author has reviewed and edited the AI-generated content to ensure accuracy and clarity.
## License
MIT. See `LICENSE`.