co-authored-by: Begona Guereca <begonaguereca@github.com>
Azure Pipelines to Actions migrations powered by Valet
The instructions below will guide you through configuring a Codespace that will be used in these labs to demonstrate how Valet can be used to migrate Azure DevOps pipelines to GitHub Actions.
These steps must be completed prior to starting other labs.
Create your own repository for these labs
- Ensure that you have created a repository using the valet-customers/labs as a template.
Configure your Codespace
- Start a new Codespace.
- Click the
Codebutton on your repository's landing page. - Click the
Codespacestab. - Click
Create codespaces on mainto create the codespace. - After the Codespace has initialized there will be a terminal present.
- Verify the Valet CLI is installed and working. More information on the Valet extension for the official GitHub CLI can be found here.
-
Run the following command in the codespace's terminal:
gh valet version -
Verify the output is similar to below.
gh version 2.14.3 (2022-07-26) gh valet github/gh-valet v0.1.12 valet-cli unknown- If
gh valet versiondid not produce similar output then please follow the troubleshooting guide.
- If
Bootstrap your Azure DevOps organization
-
Create an Azure DevOps personal access token:
- Navigate to your existing organization (https://dev.azure.com/:organization) in your browswer.
- Click
User settingsin the top right corner of the screen. - Click
Personal access tokens. - Select
+ New Token - Name your token, select the organization where you want to use the token, and set your token to automatically expire after a set number of days.
- Select the following scopes (you may need to
Show more scopesto reveal all scopes):- Agents Pool:
Read - Build:
Read & Execute - Code:
Read & Write - Project and Team:
Read, Write, & Manage - Release:
Read - Service Connections:
Read - Task Groups:
Read - Variable Groups:
Read
- Agents Pool:
- Click
Create. - Copy the generated API token and save in a safe location.
-
Execute the Azure DevOps setup script that will create a new Azure DevOps project in your organization to be used in the following labs. This script should only be run once.
-
Run the following command from the codespace's terminal, replacing the values accordingly:
:organization: the name of your existing Azure DevOps organization:project: the name of the project to be created in your Azure DevOps organization:access_token: the PAT created in step 1 above
./azure_devops/bootstrap/setup --organization :organization --project :project --access-token :access-token
-
-
Open the newly created Azure DevOps project in your browser (https://dev.azure.com/:organization/:project)
- Once authenticated, you will see an Azure DevOps project with a few predefined pipelines.
Labs for Azure DevOps
Perform the following labs to learn how to migrate Azure DevOps pipelines to GitHub Actions using Valet:
- Configure credentials for Valet
- Perform an audit of an Azure DevOps project
- Perform a dry-run of a Azure DevOps pipeline
- Use custom transformers to customize Valet's behavior
- Perform a production migration of a Azure DevOps pipeline
- Forecast potential build runner usage
Troubleshoot the Valet CLI
The CLI extension for Valet can be manually installed by following these steps:
-
Verify you are in the codespace terminal
-
Run this command from within the codespace's terminal:
gh extension install github/gh-valet -
Verify the result of the install contains:
✓ Installed extension github/gh-valet -
If you get an error similar to the image below, then click the link in the terminal output to authorize the token.
-
Verify Valet CLI extension is installed and working by running the following command from the codespace's terminal:
gh valet version
