Создать в спинакере параметр, специфичный для этапа?

У меня есть конвейер спинакера, который имеет 3 этапа создания конфигурационных карт в разных кластерах. Эти карты конфигурации выглядят одинаково, за исключением значения тега. Я хочу иметь возможность создавать параметр тега для каждого этапа, чтобы можно было повторно использовать тот же configmap.yaml, но просто подставить тег.

Разве в настоящее время это невозможно со спинакером? Или же можно получить имя текущего этапа (уникальное значение для каждого этапа), а затем использовать его в теге с помощью выражения спинакера. Это тоже кажется неподдерживаемым?


person user1795516    schedule 26.03.2021    source источник


Ответы (1)


Сначала вы зарегистрируете параметр конвейера на вкладке «Конфигурация» редактора конвейера (требуется только Имя):

pic1

В этом сценарии мы используем параметр, чтобы указать пространство имен манифеста. Отредактируйте свой манифест, чтобы раздел метаданных содержал:

 # ... other keys
metadata:
  namespace: '${ parameters.namespace }'
# other keys ...

Когда вы запустите конвейер вручную, вы увидите следующее:

pic2

При параметризации значения YAML, которое не является строкой (например, счетчиком реплик), вам нужно будет явно преобразовать вычисленное выражение в правильный тип.

Если вы ожидали, что счетчик реплик поступит в реплики параметров, вы должны написать:

# ... other keys
spec:
  replicas: '${ #toInt( parameters.replicas ) }'
# other keys ...

Ссылка: https://spinnaker.io/guides/user/kubernetes-v2/parameterize-manifests/

person Isaiah4110    schedule 30.03.2021