azure-dev icon indicating copy to clipboard operation
azure-dev copied to clipboard

Define and implement the user story around `azd pipeline` with Azure DevOps

Open vhvb1989 opened this issue 3 years ago • 6 comments

In order to support Azure DevOps as a repository for a azd - project and use its CI pipeline:

  • azd CLI must provide a command to require using Azure DevOps. Similar to how currently azd pipeline config uses GitHub and GitHub actions by default.

@jongio proposed to use --provider {github|azdo} as an option for azd pipeline command. The option will be default to github, and users would be able to change it to azdo.

Will confirm the user story with @savannahostrowski

vhvb1989 avatar Aug 03 '22 01:08 vhvb1989

@jongio proposed to use --provider {github|azdo} as an option for azd pipeline command. The option will be default to github, and users would be able to change it to azdo.

Maybe I missed this but have we landed on the flow for specifying the provider?

savannahostrowski avatar Aug 19 '22 23:08 savannahostrowski

@wbreza @vhvb1989 we are having the same pattern for both IaC(Bicep/Terraform) and Pipeline(Github/AzDo) providers? Pattern being via configuration change(azure.yaml) and not via CLI parameters?

rajeshkamal5050 avatar Aug 20 '22 05:08 rajeshkamal5050

I created this issue before we landed on using azure.yaml for setting the pipeline provider. So, yes, the expectation is to use that config file for provision provider and also for scm/pipeline provider.

vhvb1989 avatar Aug 20 '22 06:08 vhvb1989

Ah okay good - that's what I thought we'd landed on but saw this and wanted to double check that that was the plan!

savannahostrowski avatar Aug 22 '22 16:08 savannahostrowski

We'll want to ship both azdo and gh workflow files in our templates. So they are in the clear.

We definitely don't want to create a new template just for the azdo variation of the pipeline files.

.azdo isn't a standard folder name, I decided on that name, so it isn't like .github which is the standard is means something in their system. That same concept doesn't exist in azdo.

I suggest the CLI does this:

  1. When you call azd pipeline config it looks for .github and .azdo folders. If not found and --provider isn't provided, then ask the user which one they want to use.
  2. If only one is found, then setup that one.

jongio avatar Aug 22 '22 23:08 jongio

Oh, I missed the part about the templates. Thanks for catching that! We should definitely just include the files for Pipelines in our existing templates, rather than author new templates. I'm fine with .azdo for now.

I agree with the flow proposed by @jongio above!

savannahostrowski avatar Aug 22 '22 23:08 savannahostrowski