Skip to content

Catesta - Azure Pipelines Integration

Synopsis

Scaffolds a new PowerShell module or vault project intended for CI/CD workflow using Azure Pipelines.

Getting Started


Note: It is important to have a clear understanding of what your project should support before starting with Catesta. If your goal is to create a cross-platform solution or test multiple versions of PowerShell, consider running multiple build types to ensure proper functioning on various platforms and environments.

Azure Pipelines Supported Builds:

Cross Platform


  1. You will need an Azure DevOps Organization.
  2. Create a new Project:
    • Azure DevOps Organization New Project
  3. Create a new pipeline and choose where your code will come from:
    • Azure DevOps New Pipeline
    • Authenticate to your repository source as needed
  4. Create your project using Catesta and select [A] Azure Pipelines at the CICD prompt. (Catesta Basics)
  5. Write the logic for your module (the hardest part)
    • All build testing can be done locally by navigating to src and running Invoke-Build
      • By default, this runs all tasks in the build file.
        • If you want to run a specific task from the build file you can provide the task name. For example, to just execute Pester tests for your project: Invoke-Build -Task Test
    • If using VSCode as your primary editor you can use VSCode tasks to perform various local actions
      • Open the VSCode Command palette
        • Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux) or F1
      • Type Tasks: Run Task
      • Select the task to run
        • Examples:
          • task . - Runs complete build (all tasks)
          • task Test - Invokes all Pester Unit Tests
          • task Analyze - Invokes Script Analyzer checks
          • task DevCC - Generates generate xml file to graphically display code coverage in VSCode using Coverage Gutters
  6. Add any module dependencies to your CI/CD bootstrap file: actions_bootstrap.ps1
  7. Upload to your desired repository which now has a triggered/monitored build action.
  8. Evaluate results of your build and display your Azure Pipelines badge proudly!

Azure Pipelines PowerShell project created by Catesta

Test Reports

Catesta automatically configures your Azure Pipelines PowerShell project to generate detailed Tests and Code Coverage reports:

Azure Pipelines PowerShell project Test results

Azure Pipelines PowerShell project Code Coverage results

Notes

Additional Reading:

Diagrams

Azure DevOps Integration with GitHub

Catesta PowerShell Azure DevOps Diagram

Example Projects