My collection of useful DevOps resources
- Microsoft Learn - Define and implement continuous integration
- Microsoft Learn - Build applications with Azure DevOps
- Microsoft Learn - Deploy applications with Azure DevOps
- Microsoft Learn - Implement CI with Azure Pipelines and GitHub Actions
- Microsoft Learn - Implement a secure continuous deployment using Azure Pipelines
My list of go-to pages during YAML development:
- YAML Schema Reference: Describes the supported schema for pipelines, resources, jobs, etc.
- Predefined Pipeline Variables: daily go-to resource for understanding the variables that are available in a pipeline execution and their possible values.
- Logging commands: daily reference for
##vso
logging statements for creating variables, adding attachments, reporting failures. - Expressions: data types and available functions available for custom conditions or compile-time expressions.
- Templates: outlines how to use templates for stages, jobs, steps and variables.
- Runtime parameters: data-types supported for prompting users for values when queueing pipelines.
- Pipeline run sequence: understanding the sequence of how the pipeline is executed is necessary to understand the differences between compile-time and run-time. Also provides insights on how agents and jobs execute.
- Tasks Reference: list of available built-in Azure DevOps tasks, provides different versions and supported syntax.
- Tasks (source-code): deeper dive into the internal logic of the built-in tasks, useful for understanding how specific fields impact the execution. Also a good reference for building your own custom tasks.
- AzureKeyVaultV2 - this task contains a "prejob" execution handler.
- actions/runner-images: contains installation scripts used to build a virtual machine to be used as a build-agent.
- microsoft/azure-pipelines-agent: source code for the build-agent software that executes a pipeline.
- Handlers: useful insight into how the build agent bootstraps the execution of a task (powershell, exe, nodejs, etc)
- Azure DevOps REST API: the SDKs and client libraries are wrappers around the REST API, outlines available endpoints, query parameters and schema for payloads and responses.
- azure-devops-extension-api package: NodeJs wrapper library for the REST API.
- .NET SDK: .NET wrapper for the REST API.
PAT Tokens:
- List of available scopes: useful for determining which permissions to grant to a PAT token. If you're buildnig a custom task, each method in the REST API indicates which scope it requires.
- Extensions manifest reference: describes the schema for a custom extension.
- tasks.schema.json: describes the schema for a task within an extension.
- microsoft/azure-pipelines-task-lib: custom tasks rely on the capabilities of the task-lib to interact with task inputs, variables, output masking, etc
- Azure DevOps Roadmap: follow the release by week to see the latest features.
- Current Sprint: the ADO team releases roughly every 3 weeks. This shows the current sprint + week which can be used as a soft indicator for the timing of the next feature release.