Запустите набор состояний исправлений kubectl в конвейере Дженкинса

#jenkins #patch #kubectl #kubernetes-statefulset

Вопрос:

Мне нужно обновить набор состояний с помощью Дженкинса. Точнее, обновить тему в контейнере инициализации. Это код, который я использую в Jenkins (он отлично работает в терминале):

 kubectl patch statefulset test-deploy -n test -p '{"spec": {"template": {"spec":{"initContainers":[{"name": "theme", "image": "xxxx.dkr.ecr.us-east-1.amazonaws.com/testrepo:latest"}]}}}}'
 

Ошибка, которую я получил: ожидание ‘}’, найдено ‘-‘ @ строка 293, столбец 192. возраст»: «xxx.dkr.ecr.us-east-1.am

Когда я изменил двойные кавычки на одинарные кавычки: kubectl patch statefulset keycloak-задание-развертывание-n ci-среда-разработка-p ‘{‘спецификация’: {‘шаблон’: {‘спецификация’:{‘initContainers’:[{‘имя’: ‘тема’, ‘изображение’: ‘837236160124.dkr.ecr.us-east-1.amazonaws.com/ci/keycloak-theme-thermo-fisher-develop:develop-0.0.1-3′}]}}}}’

У меня есть это:

Ошибка сервера (BadRequest): недопустимый символ «s», ищущий начало строки ключа объекта

Не могли бы вы, пожалуйста, помочь мне понять, что не так с кавычками и какую команду я должен использовать?

Комментарии:

1. Я нахожу, что с ним гораздо проще работать, kubectl apply а не patch

Ответ №1:

Я все понял. Это было связано с показом в Groovy. Это правильная версия:

 kubectl patch statefulset test-deploy --namespace=${namespace} -p '{"spec": {"template": {"spec":{"initContainers":[{"name": "theme", "image": "${theme}"}]}}}}'