Yaml - как сделать условия из филиалов
Потратил много времени на изготовление ямла:(
Я прочитал https://www.appveyor.com/docs/branches/ - не помогло
-
branches:
only:
- master
version: 0.3.0.{build}
environment: release
packageVersion: 0.3.0.{build}
-
branches:
only:
- develop
version: 0.2.3.{build}
environment: debug
packageVersion: 0.2.3.beta-{build}
dotnet_csproj:
patch: true
file: '**\Project.csproj'
version: '{version}'
package_version: $(nugetVersion)
assembly_version: $(buildVersion)
file_version: $(buildVersion)
informational_version: $(nugetVersion)
before_build:
- nuget restore
build:
verbosity: minimal
//More code
Как мне установить версию из ветки? Спасибо
1 ответ
Существует ряд проблем с этим YAML:
- Синтаксис YAML очень чувствителен к пробелам
environment
Секция используется для установки переменных среды, но, кажется, используется для конфигурации.
Рабочая YAML:
-
branches:
only:
- master
version: 0.3.0.{build}
configuration: release
environment:
packageVersion: 0.3.0.{build}
-
branches:
only:
- develop
version: 0.2.3.{build}
configuration: debug
environment:
packageVersion: 0.2.3.beta-{build}
dotnet_csproj:
patch: true
file: '**\Project.csproj'
version: '{version}'
package_version: $(nugetVersion)
assembly_version: $(buildVersion)
file_version: $(buildVersion)
informational_version: $(nugetVersion)
before_build:
- nuget restore
build:
verbosity: minimal
Однако с этим разделами YAML, как dotnet_csproj
, build
а также before_build
будет работать только для develop
ветка. Если вам нужно, чтобы они работали для обоих, используйте https://www.appveyor.com/docs/branches/.
Образец YAML:
#common configuration
dotnet_csproj:
patch: true
file: '**\Project.csproj'
version: '{version}'
package_version: $(nugetVersion)
assembly_version: $(buildVersion)
file_version: $(buildVersion)
informational_version: $(nugetVersion)
before_build:
- nuget restore
build:
verbosity: minimal
#branches specific configuration
for:
-
branches:
only:
- master
version: 0.3.0.{build}
configuration: release
environment:
packageVersion: 0.3.0.{build}
-
branches:
only:
- develop
version: 0.2.3.{build}
configuration: debug
environment:
packageVersion: 0.2.3.beta-{build}
Также не уверен, где $(nugetVersion)
а также $(buildVersion)
Предполагается, что переменные окружения происходят, но это предмет отдельного обсуждения.