Azure DevOps YAML pipelines - limitations with Github Enterprise Server

YAML pipelines are a new form of pipelines that have been introduced in Azure DevOps Server 2019 and in Azure Pipelines. YAML pipelines only work with certain version control systems. 

In that support matrix, it's said 'Github Enterprise Server' is one of the supported version control systems of Azure pipelines (YAML). We have source code of our project on our company's github server, github.abc.com, and also wanted to have the pipeline definition file, the YAML file, to be version-controlled. When we gave it a try, it's noticed some limitations when using YAML pipelines with application source code on Github Enterprise Server.

  • Limitation 1: Azure DevOps only integrates with the YAML pipeline file on Azure Repo or github, but not Github Enterprise Servers like github.abc.com. 
This doesn't mean you can't put the pipeline definition file on your Github Enterprise Server for version control manually. Yes, you can. But what we want is to integrate that yaml file with the pipeline on Azure DevOps. So any changes in the yaml file can be automatically reflected on the corresponding pipeline on Azure DevOps. 

In order to create a pipeline by using a YAML file, assuming the YAML file is on an Azure Reop, run the below command,
az pipelines create --name <pipeline name> --yml-path <yaml file on your repo> --organization <org link> --project <project name> --repository <repo link> --branch main  --repository-type tfsgit
We opened an Microsoft support case, in order to confirm the above limitations. The Limitation 1 was confirmed. Also there is feature request, [Feature Request] pipelines create should support Github Enterprise · Issue #620 · Azure/azure-devops-cli-extension · GitHub. Unfortunately Microsoft hasn't considered it into a release scope yet.

The second limitation is mentioned in the code comments of an official document at Resources: repositories.

References



Comments

Popular posts from this blog

Deep-archive an aws S3 bucket with versioning enabled once

Good practices of using Python logging

Auto-installing NVIDIA device plug-in on GPU nodes only