Всех категорически приветствую! Публикую универсальный скрипт на python, который позволит вытащить вам из Jenkins все необходимые секреты, пароли, ssh ключи и т.д. Скрипт. Прежде всего необходимо объявить пререквизиты. Тут есть класс RegexpDict, для синтаксического сахара, чтобы было удобно обращаться к ключу через точку. Секцию с vault можно не использовать, если вам будет достаточно только вытащить креды. Делаем запрос и парсим ответ. Тут мы делаем запрос к Jenkins по пути /script в качестве data прикладываем groovy скрипт и получаем ответ, в котором ищем тэг pre и текст class =, что будет означать, что мы нашли список кредов. Далее записываем это как строку в один большой файл. Делим файл. Для того, чтобы распарсить каждый кред мы делим большой файл на кучу маленьких кредов по разделителю ---- , делаем это командой csplit в Ubuntu Парсинг кредов по классам креда в Jenkins. Напишем вспомогательную ф-ю _search_text, для вытаскивания регуляркой из каждого подфайла интересующие нас знач
Jenkins. Перенос/export всех секретов. Универсальный скрипт на Python.
18 декабря 202218 дек 2022
28
1 мин