step by step YAML多重化


yamlファイルは、ソフトウェアテストプロセスの手順を記述するのに適しています.異なるタイプのCIプロセスがyamlファイルに集中している場合、まず最初に遭遇する問題は、大量の繰り返しステップがどのように多重化されるかです.
例を挙げます.
  stage1:
    run_it:
      exec:
      - A
      - B
      - C
      - D1
  stage2:
    run_it:
      exec:
      - A
      - B
      - C
      - D2

明らかに、ABCステップが重複しています.異なるステージの場合、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を参照できます.