Это потому, что у вас есть :
, за которым следует пробел. Это синтаксис YAML для ключа сопоставления. Окружающий '
не защищает вас, потому что, поскольку он находится внутри скаляра YAML, он анализируется как содержимое.
Лучший способ исправить это - использовать скаляр блока, где YAML не анализирует специальные символы на всех:
script:
- gradle buildZip
- >-
aws s3 cp build/distributions/converter-1.0.zip
s3://xxx/converter/fan-converter-${CI_BUILD_REF}.zip
- >-
aws s3 put-object-tagging
--bucket xxx
--key converter/fan-converter-{$CI_BUILD_REF}.zip
--tagging '{"TagSet": [{ "Key": "tmp", "Value": "1" }]}'
>
запускает скаляр свернутого блока , следующий -
предотвращает добавление последней новой строки. Все строки соединяются пробелами. Остерегайтесь отступа строк больше, чем первая строка; это создало бы разрыв строки вокруг этой строки с большим отступом.
Скаляр продолжается до тех пор, пока не встретит содержимое на родительском уровне отступа. Я сделал предыдущее значение другим скаляром блока, чтобы продемонстрировать это.
Вы также можете записать все в одну строку, но это кажется более читаемым.