step by step YAML多重化
1771 ワード
yamlファイルは、ソフトウェアテストプロセスの手順を記述するのに適しています.異なるタイプのCIプロセスがyamlファイルに集中している場合、まず最初に遭遇する問題は、大量の繰り返しステップがどのように多重化されるかです.
例を挙げます.
明らかに、ABCステップが重複しています.異なるステージの場合、ABCは必須のステップです.では、次のように処理できます.
まず、同じステップをstepに抽出します.
次に、アンカーマークを設定します.
最後に、共通部分をアンカータグで置き換えます.
yamlのアンカータグについては、ハッシュマージはhttp://zh.wikipedia.org/wiki/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を参照できます.