Jenkins — Python VirtualEnv с выбором версий

  Для выбора версии питона в пайплайне, нужно чтобы нужные версии были установлены в системе. Дальнейшие действия были выполнены на CentOS 7 и установка бинарников происходила в директорию "/usr/bin/" для удобства, так как в системе уже установлены версии "2.7" и "3.6" из репозитория по данному пути. Устанавливаем зависимости:   Скачиваем нужные исходники нужных версий, в … Продолжить читать "Jenkins — Python VirtualEnv с выбором версий"

AWS — S3: Разрешить публичный доступ к объектам через VPN

Цель: Разрешить публичный доступ на чтение для всех объектов в S3 корзине только используя VPN подключение, для подключения с мира объекты должны быть не публичными. В качестве сервиса VPN используется OpenVPN, который может быть развернут где угодно, поэтому разрешающие правило будем строить на проверки IP адреса.   Для начала нужно узнать список сетей, которые относятся … Продолжить читать "AWS — S3: Разрешить публичный доступ к объектам через VPN"

Python — AWS EBS создание снапшотов на основе тега и хранение только одной последней версии

Данный скрипт ищет EBS в регионе "eu-west-1" с тегом, ключ которого "Application" и значение передается как аргумент, создает снапшот данного EBS. Так же по тому же принципу он ищет снапшот по тегу, и удаляет все, кроме последнего. Пример запуска для создания снапшота:   Пример запуска для удаления старых снапшотов:   main.py:

Jenkins — Active Choice: SSH — Вернуть значения удаленной команды

Для параметризованной сборки, понадобится плагин Active Choices Переходим в настройки Jenkins'а   Раздел "Управление плагинами"   Переходим к вкладке "Доступные" и в поиске указываем "Active Choices" Устанавливаем его.   Создаем "New Item" — "Pipeline", указываем, что это будет параметризованная сборка, и добавляем параметр "Active Choices Parameter"       Указываем, что это "Groovy Script" и … Продолжить читать "Jenkins — Active Choice: SSH — Вернуть значения удаленной команды"

Jenkins — Active Choice: S3 — Вернуть нужное значение ключа с JSON файла

Для параметризованной сборки, понадобится плагин Active Choices Переходим в настройки Jenkins'а   Раздел "Управление плагинами"   Переходим к вкладке "Доступные" и в поиске указываем "Active Choices" Устанавливаем его.   Создаем "New Item" — "Pipeline", указываем, что это будет параметризованная сборка, и добавляем параметр "Active Choices Parameter"       Указываем, что это "Groovy Script" и … Продолжить читать "Jenkins — Active Choice: S3 — Вернуть нужное значение ключа с JSON файла"

Ansible — Хранить N последних директорий и артефактов

Цель: Есть директория "/opt/application", в которую скачивается архив с приложением и распаковывается в директорию, где в качестве имени используется короткая производная от HASH коммита (8 символов). И создается символическая ссылка на данную директорию. Необходимо хранить только 3 последних версии приложения, как директорий, так и архивов, а так же не удалять директории которые называются: logs media … Продолжить читать "Ansible — Хранить N последних директорий и артефактов"

Python — AWS S3 хранить N последних артефактов

Данный скрипт получает список всех директорий в корзине и удаляет все объекты в каждой директории, кроме последних "N" указанных. Для запуска скрипта нужно передать два аргумента: Имя корзины Количество последних хранимых объектов Пример запуска:   main.py:

EKS — Зашифровать текущий PV (EBS Volume)

За основу был взят ответ на gitmemory Для того, чтобы зашифровать уже созданный EBS Volume, нужно сделать из него снапшот. Затем из созданного снапшота создать диск в том же регионе, что и оригинальный, так же указать KMS ключ для шифрования. Затем сохраняем манифест текущего PV в файл:   Редактируем файл, заменив ID оригинального диска на … Продолжить читать "EKS — Зашифровать текущий PV (EBS Volume)"

Jenkins — Active Choice: PostgeSQL — Вернуть результат SELECT запроса

Для параметризованной сборки с выбором результата на основе SQL запроса, понадобится плагин Active Choices Переходим в настройки Jenkins'а   Раздел "Управление плагинами"   Переходим к вкладке "Доступные" и в поиске указываем "Active Choices" Устанавливаем его. Так же необходим плагины: Database PostgreSQL Database Создаем "New Item" — "Pipeline", указываем, что это будет параметризованная сборка, и добавляем … Продолжить читать "Jenkins — Active Choice: PostgeSQL — Вернуть результат SELECT запроса"