Continuous integration Yaml-如何从分支创建条件

Continuous integration Yaml-如何从分支创建条件,continuous-integration,yaml,appveyor,Continuous Integration,Yaml,Appveyor,花了大量时间制作yaml: 我读过,没用 - 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

花了大量时间制作yaml:

我读过,没用

-
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

如何从分支设置版本控制?谢谢

此YAML存在许多问题:

YAML语法对空格非常敏感 环境部分用于设置环境变量,但似乎用于配置。 工作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
然而,对于像dotnet_csproj这样的YAML部分,build和before_build将只适用于开发分支。如果您需要它们同时适用于这两种情况,请使用

样本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环境变量应该来自哪里,但这是单独讨论的主题