@ AndroidNoobie решает вашу проблему, но не объясняет, что происходит.
В ваших определениях вы указываете отображение, которое является значением для step
:
- step: &Deploy-step
caches:
- node
script:
- sh bin/pipeline/backend-url-replace.sh
- npm run build
- sh bin/pipeline/deployment.sh
, т.е.ключи caches
и script
имеют больший отступ, чем step
, это не зависит от того, есть якорь или нет.Так что это элемент последовательности, который отображается с одним ключом step
.
Если вы напишите:
- step:
caches:
- node
script:
- sh bin/pipeline/backend-url-replace.sh
- npm run build
- sh bin/pipeline/deployment.sh
, который является допустимым YAML, ваш элемент последовательности снова является отображением, нотеперь он имеет три клавиши step
, caches
и script
.Значение step
равно null
(там может быть якорь, который не имеет значения).
И это то, что у вас есть в разделе pipelines
.Ваш ключ слияния <<
не является первым ключом в отображении (и не должен быть).
Это делает, например, самый последний элемент в вашем примере отображением с пятью значениями вместосопоставление с одним ключом rest
, и значение для этого ключа - сопоставление с четырьмя ключами, и это то, что вам нужно.