Azure DevOps YAML Pipelines - могут ли они вытащить скрипт из репозитория? - PullRequest
0 голосов
/ 06 мая 2020

В моей графической версии релиза я подключаюсь к «Azure Repo», чтобы извлечь из него сценарий, а не артефакт BUILD

Возможно ли это сделать в конвейерах YAML? Пока что это очень неясно, заранее спасибо

Репо содержит много скриптов, поэтому его не нужно собирать или упаковывать в виде zip / drop-пакета.

enter image description here

Ответы [ 3 ]

2 голосов
/ 07 мая 2020

Ресурс - это любая внешняя служба, которая используется как часть вашего конвейера. Примером ресурса является другой конвейер CI / CD, который создает:

resources:
  pipelines: [ pipeline ]
  repositories: [ repository ]
  containers: [ container ]
  • артефакты, такие как Azure Pipelines или Jenkins.
  • Репозитории кода, такие как GitHub, Azure Repos или Git.
  • Реестры образов контейнеров, такие как Azure Container Registry или Docker hub.

Ресурсы в YAML представляют источники конвейеров, контейнеров, репозиториев и типов. Для получения дополнительной информации о ресурсах см. здесь .

2 голосов
/ 06 мая 2020

Ага, извини, я плохо Да, это возможно. После do c

Если в вашем конвейере есть шаблоны в другом репозитории, или если вы хотите использовать проверку нескольких репозиториев с репозиторием, для которого требуется подключение к службе, вы должны разрешить системе знать об этом репозитории. Ключевое слово repository позволяет указать внешний репозиторий.

resources:
  repositories:
  - repository: string  # identifier (A-Z, a-z, 0-9, and underscore)
    type: enum  # see the following "Type" topic
    name: string  # repository name (format depends on `type`)
    ref: string  # ref name to use; defaults to 'refs/heads/master'
    endpoint: string  # name of the service connection to use (for types that aren't Azure Repos)
0 голосов
/ 07 мая 2020

@ Hugh Lin - MSFT @Krzysztof Madej

My Azure DevOps GIT репо под названием «AZDO_Scripts» (все являются частью одного проекта) и имеет такую ​​структуру ...

/ Scripts / AzureCLI / ResourceGroup / Provision_ResourceGroup_withTags.ps1

Мой YAML теперь такой ...

name: $(date:yyyyMMdd)$(rev:.r)-$(SourceBranchName)

trigger:
- master

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

resources:
  repositories:
  - repository: commonscripts
    type: git
    name: AZDO_Scripts

stages:
- stage: Test
  variables:
    - name: resourcegroup
      value: 'rg-testthescript'
    - name: location
      value: 'WestEurope'
    - name: environmenttag
      value: 'Test'
  jobs:
    - job : TestJob
      pool:
        vmImage: 'windows-latest'
      steps:
      - task: AzureCLI@2
        inputs:
          azureSubscription: 'My-Azure-Sub-ServiceConnection'
          scriptType: 'ps'
          scriptLocation: 'scriptPath'
          scriptPath: 'Scripts/AzureCLI/ResourceGroup/Provision_ResourceGroup_withTags.ps1@commonscripts'
          arguments: '-resourcegroup $(resourcegroup) -location $(location) -environmenttag $(environmenttag)'

Что мне нужно делать в оператор scriptPath: для ссылки на этот сценарий? (2-я строка снизу)

scriptPath: 'Scripts/AzureCLI/ResourceGroup/Provision_ResourceGroup_withTags.ps1@commonscripts'
...