AzureDevOps + Terraform - создать работу агента и рабочие задания - PullRequest
0 голосов
/ 14 февраля 2020

У нас есть CI / CD AzureDevOps. Для каждого проекта мы должны вручную настроить его и добавить задачи агента задания по одному для каждого проекта.

Теперь мы решили использовать Ia C для автоматического развертывания его с помощью Terraform (как мы использовали его и для других проектов). Но там не так много доступной документации, кроме this . В нем есть информация о том, как подготовить сам проект, но нет конвейеров и других материалов там, вроде как ограниченных на данный момент, или я, возможно, просто не смог найти полную документацию о доступных ресурсах.

Мы стремимся использовать Terraform для автоматизации создания нашей инфраструктуры CI / CD, я просто не могу создавать агентские задания и задачи.

1 Ответ

1 голос
/ 18 февраля 2020

мы закончили тем, что создали свой собственный ответвление этого прошлого года, и добавили недостающие вещи, такие как service connections и тому подобное.

Однако для конвейеров и подобных Azure DevOps - это ожидаем, что вы используете azure-pipelines.yml для фактического определения конвейера.

Чтобы сборка была определена Terraform и Azure что-то вроде этого работало бы:

resource "azuredevops_build_definition" "build_definition" {
  project_id = azuredevops_project.project.id
  name       = "My Awesome Build Pipeline"
  path       = "\\"

  repository {
    repo_type   = "TfsGit"
    repo_name   = azuredevops_azure_git_repository.repository.name
    branch_name = azuredevops_azure_git_repository.repository.default_branch
    yml_path    = "path to your azure-pipelines.yaml file in the repo"
  }
}

Так что в репо вы вы используете terraform из azure-pipeline.yaml, описывающего конвейер, который вы будете выполнять sh.

У Дамиана Брэди есть хороший блог по этому вопросу с октября 2 года go: https://damianbrady.com.au/2018/10/10/what-yaml-do-i-need-for-azure-pipelines/

Существует также много документации по поддерживаемой схеме Azure DevOps YAML: https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema

Когда вы освоитесь с основами, вы можете начать обращайте внимание на использование шаблонов, если есть, казалось бы, общие шаблоны, которые вы найдете: https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema#template -references

Надеюсь, это поможет!

...