Skip to content
forked from segraef/apai

Utilities to create Azure Pipelines VM images based on what Microsoft provides.

License

Notifications You must be signed in to change notification settings

amd-jmacaran/apai

 
 

Repository files navigation

Azure Pipelines Agent Images and GitHub Actions Runner Images

Status

Super Linter

GitHub Runner Image Workflow

About

This repository contains simplified versions of Azure Pipelines, GitHub Workflows and local PowerShell Functions script to create your own Azure Pipelines Agent Images and GitHub Actions Runner Images based on the official source code used for GitHub-hosted runners used for Actions, as well as for Microsoft-hosted agents used for Azure Pipelines.

Available Images

Image Pipeline/Workflow Label Included Software
Ubuntu 22.04 Ubuntu2204 ubuntu-22.04
Ubuntu 20.04 Ubuntu2004 ubuntu-20.04
Ubuntu Minimal UbuntuMinimal
Windows Server 2022 Windows2022 windows-2022
Windows Server 2019 Windows2019 windows-2019

Note: The Pipeline/Workflow labels can be used in your Pipeline/Workflow to select the image you want to create.

Getting Started

Prerequisites

Create Images

Create VM images using Azure Pipelines

  1. Clone this repository.
  2. Create a new Azure Pipeline using the /.pipelines/pipeline.yml file.
  3. Create the service connection to your Azure Subscription.
  4. Run the pipeline.

Create VM images using GitHub Workflows

  1. Clone this repository.
  2. Create a service principal assigned with the Contributor role to your Azure Subscription.
  3. Create the GitHub Actions repository secret AZURE_CREDENTIALS with the output data from the previously created service principal. Which looks like this:
    {
        "clientId": "<clientId>",
        "clientSecret": "<clientSecret>",
        "subscriptionId": "<subscriptionId>",
        "tenantId": "<subscriptionId>",
        "activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
        "resourceManagerEndpointUrl": "https://management.azure.com/",
        "activeDirectoryGraphResourceId": "https://graph.windows.net/",
        "sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
        "galleryEndpointUrl": "https://gallery.azure.com/",
        "managementEndpointUrl": "https://management.core.windows.net/"
    }
  4. Run the GitHub Runner Image workflow (/.github/workflows/workflow.yml).

Reporting Issues and Feedback

Issues and Bugs

If you find any bugs, please file an issue in the GitHub Issues page. Please fill out the provided template with the appropriate information.

If you are taking the time to mention a problem, even a seemingly minor one, it is greatly appreciated, and a totally valid contribution to this project. Thank you!

Feedback

If there is a feature you would like to see in here, please file an issue or feature request in the GitHub Issues page to provide direct feedback.

Contribution

If you would like to become an active contributor to this repository or project, please follow the instructions provided in CONTRIBUTING.md.

Learn More

About

Utilities to create Azure Pipelines VM images based on what Microsoft provides.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 100.0%