首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用参数化模板以避免重复代码会导致错误消息:“预期的序列”。

使用参数化模板以避免重复代码会导致错误消息:“预期的序列”。
EN

Stack Overflow用户
提问于 2019-11-28 10:47:08
回答 1查看 1.5K关注 0票数 1

对于我们的构建,我想使用一个阶段,这个阶段是针对每一个推/拉请求触发的,在构建矩阵中有一个有限数量的参数组合。

另一个阶段,每晚使用预定的构建来执行,我想使用包含所有参数组合的完整生成矩阵。由于Azure管道不支持生成矩阵的紧凑表示。,我至少希望将构建矩阵放在一个单独的文件中,这样该文件至少安排得很清楚。

azure-pipelines.yml (主文件)

代码语言:javascript
复制
stages:
  - stage: ci_build_on_default_pool
    jobs:
      - template: tools/azure-pipelines/azure-jobs.yml
        parameters:
          stage_name: ci_build_on_default_pool
          pool_definition:
            name: Default
          test_strategy:
            - template: tools/azure-pipelnes/ci-build-matrix.yml

  - stage: ci_build_on_azure_os_free_pool
    jobs:
      - template: tools/azure-pipelines/azure-jobs.yml
        parameters:
          stage_name: ci_build_on_azure_os_free_pool
          pool_definition:
            vmImage: 'ubuntu-latest'
          test_strategy:                
            - template: tools/azure-pipelnes/ci-build-matrix.yml

  # Special stage for midnight build:
  - stage: cron_build_on_azure_os_free_pool
    condition: eq(variables['Build.Reason'], 'Schedule')
    jobs:
      - template: tools/azure-pipelines/azure-jobs.yml
        parameters:
          stage_name: cron_build_on_azure_os_free_pool
          pool_definition:
            vmImage: 'ubuntu-latest'
          test_strategy:
              matrix:
                core:
                  parameter: core
                python:
                  parameter: python
                libraries:
                  parameter: libraries

azure-jobs.yml (包含构建作业定义的文件)

代码语言:javascript
复制
parameters:
  pool_definition:
  stage_name:
  test_strategy: {}

jobs:
[ ... ]

- job: runOnAzure_test
  pool: ${{parameters.pool_definition}}
  container: flink-build-container
  strategy: ${{parameters.test_strategy}}
  steps:

ci-build-matrix.yml (跨两个阶段共享的默认矩阵定义)

代码语言:javascript
复制
matrix:
  core:
    parameter: core
  python:
    parameter: python
  libraries:
    parameter: libraries

[ ... ]

这里有完整的源代码。

有了这些输入,我得到了以下错误

代码语言:javascript
复制
/tools/azure-pipelines/azure-jobs.yml (Line: 60, Col: 13): A sequence was not expected

我怎么解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2019-12-01 09:25:59

我记得我第一次开始使用模板时遇到过这个问题。我非常肯定,它必须与第一步的模板必须是一项任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59087052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档