Skip to content

Latest commit

 

History

History
58 lines (35 loc) · 3 KB

File metadata and controls

58 lines (35 loc) · 3 KB

ACI - Azure DevOps To GitHub Repository Migrator

Deploys the containerized version of the migrator to Azure Container Instances

This script, available as Windows Batch script and as Linux Bash script, uses the public image on Docker Hub: n3wt0n/azdo2ghrepomigrator

Usage

Firs step is to replace the environment variables values in the deploy-aci.yaml file with your ones (see below).

Then just invoke:

  • Windows: deployToACI.bat
  • Linux / MacOS: deployToACI.sh

Bigger Repositories

For big repositories (i.e. bigger than a few GBs) you probably want to use an external volume to store the migration files.

This repository contains the deployment files to use ACI with Azure Files, which uses the deploy-aci-azurefiles.yaml definition.

Other than the environment variables, you need to complete that file with your Azure File file share name, and the Azure Storage Account name and key.

Then just invoke:

  • Windows: deployToACI-AzureFiles.bat
  • Linux / MacOS: deployToACI-AzureFiles.sh

Prerequisites

This script requires Azure CLI, which can be found here: Install the Azure CLI

Required Environment Variables

The container needs the following environment variables (and values) to run.
Remember to change their values in the _deploy-aci.yaml file.

  • AZDOPAT: PAT (Personal Access Token) in Azure DevOps with the Code > Read permissions granted
  • AZDOORG: name of the Azure DevOps Organization where your source repository resides (the XXX in dev.azure.com/XXX or XXX.visualstudio.com)
  • AZDOPRJ: name of the Azure DevOps Team Project where the source repository resides
  • AZDOREPO: name of the Azure DevOps Source Repository to migrate
  • GHPAT: PAT (Personal Access Token) in GitHub with the repo (Full control) permmissions granted
  • GHUSER: GitHub Username or (Organization) with which you have created the destination repository
  • GHREPO: name of the GitHub Destination Repository

For instruction on how to generate a PAT in Azure DevOps, take a look at the official documentation here

For instruction on how to generate a PAT in GitHub, take a look at the official documentation here

Please note that the Destination Repo must be empty and not be initialized.

If you decide to use the external volume on Azure Files, you also need:

  • Azure File Share Name
  • Azure Storage Account Name
  • Azure Storage Account Key

Please note that the File Share must be empty or ar least must not container a folder named "AZUREDEVOPSREPONAME-Migration"