【问题标题】:Yaml - how to make conditions from branchesYaml - 如何从分支创建条件
【发布时间】:2018-06-14 16:06:22
【问题描述】:

花了很多时间制作 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

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

【问题讨论】:

    标签: continuous-integration yaml appveyor


    【解决方案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
    

    但是,像 dotnet_csprojbuildbefore_build 这样的 YAML 部分仅适用于 develop 分支。如果您需要它们同时为两者工作,请使用https://www.appveyor.com/docs/branches/#sharing-common-configuration-between-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) 环境变量应该来自哪里,但这是单独讨论的主题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-26
      • 1970-01-01
      • 2017-11-24
      • 2010-09-05
      • 2011-12-19
      • 2020-10-11
      • 2019-06-06
      • 1970-01-01
      相关资源
      最近更新 更多