Azure Devops - Как передать переменные окружения в тест tnet? - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть стандартный. NET Core (Ubuntu) конвейер на Azure Devops и в моем тестовом проекте я использую переменные окружения. В моем конвейере я определил групповые переменные следующим образом:

variables:
- group: MyApiVariables

Всякий раз, когда я запускаю тесты для моего проекта

- task: DotNetCoreCLI@2
  displayName: "Testing Application"
  inputs:
    command: test
    projects: '**/*Tests/*.csproj'
    arguments: '--configuration $(buildConfiguration)'

Фактические переменные среды не передаются. Они пусто.

Чего мне не хватает, чтобы запустить это? Я даже определил переменные на странице редактирования конвейера, но не повезло

- task: Bash@3
  inputs:
    targetType: 'inline'
    script: echo $AppConfigEndpoint
  env:
    AppConfigEndpoint: $(AppConfigEndpoint)
    ApiConfigSection: $(ApiConfigSection)

Спасибо!

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

CASING Удары снова! MyVariableName было превращено в MYVARIABLENAME в Azure Devops. Я изменил имена переменных в моей группе на все прописные, и это сработало. Я потратил слишком много времени на это.

0 голосов
/ 25 апреля 2020

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

Сначала мне нужно было создать новую группу переменных в Library:

enter image description here

Вот код конвейера, который ссылается на созданные переменные:

# Set variables group reference
variables:
- group: SampleVariableGroup

steps:
  - powershell: 'Write-Host "Config variable=$(configuration) Platform variable=$(platform)"'
    displayName: 'Display Sample Variable'  

Я использовал задачу PowerShell, чтобы проверить, правильно ли переменные были переданы в задание.

enter image description here

Как видите, оба значения configuration и platform были отображены правильно.

На самом деле вы не можете go ошибиться, если только вы не начнете смешивать variable groups с variables defined in a yaml. В таком случае вам придется использовать синтаксис name / value для отдельных (не сгруппированных) переменных.

См. Группы переменных Microsoft документация. Такой пример хорошо объясняется там. Я также предлагаю поближе взглянуть на общую документацию по переменным .

В случае ссылки на переменные в других задачах, вот отличный пример из MS (он должен работать везде одинаково):

# Set variables once
variables:
  configuration: debug
  platform: x64

steps:

# Use them once
- task: MSBuild@1
  inputs:
    solution: solution1.sln
    configuration: $(configuration) # Use the variable
    platform: $(platform)

# Use them again
- task: MSBuild@1
  inputs:
    solution: solution2.sln
    configuration: $(configuration) # Use the variable
    platform: $(platform)

Удачи!

...