论坛首页 编程语言技术论坛

step by step YAML 复用

浏览 3169 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2015-07-23  

yaml文件适合用来描述软件测试过程的步骤。当不同类型的CI过程集中在一个yaml文件时,首先碰到的一个问题是:大量重复的步骤如何进行复用?

举个例子:

  stage1:
    run_it:
      exec:
      - A
      - B
      - C
      - D1
  stage2:
    run_it:
      exec:
      - A
      - B
      - C
      - D2

显然,ABC步骤重复了。如果确定对于不同stage,ABC都是必备步骤。那么可以如下处理:

首先,将相同的步骤抽取成step:

  stage1:
    prepare:
      exec:
      - A
      - B
      - C
    run_it:
      exec:
      - D1
  stage2:
    prepare:
      exec:
      - A
      - B
      - C
    run_it:
      exec:
      - D2

然后,设定锚点标记:

  common: &common
    prepare:
      exec:
      - A
      - B
      - C
  stage1:
    prepare:
      exec:
      - A
      - B
      - C
    run_it:
      exec:
      - D1
  stage2:
    prepare:
      exec:
      - A
      - B
      - C
    run_it:
      exec:
      - D2

最后,使用锚定标记替换公共部分:

  common: &common
    prepare:
      exec:
      - A
      - B
      - C
  stage1:
    <<: *common
    run_it:
      exec:
      - D1
  stage2:
    <<: *common
    run_it:
      exec:
      - D2

关于yaml的锚定标记,哈希合并可以参考:http://zh.wikipedia.org/wiki/YAML

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics