Архив метки: Jenkins

Git: сканирование репозиториев с Gitleaks и запуск из Jenkins

12 августа 2021
 

 Утечка конфиденциальных данных, таких как пароли или RSA-ключи в репозиторий Github, даже в приватный — очень неприятное событие, и хотелось бы иметь представление о том, кто и что пушит в репозитории нашей Github-организации. Утилиты сканирования Для проверки репозиториев имеется достаточно много утилит: Gittyleaks — выглядит неплохо, но последнее обновление репозитория 2 года тому Repo Supervisor… Читать далее »

ArgoCD: декларативные Projects, Applications и деплой ArgoCD из Jenkins

18 мая 2021
 

 Создать новое приложение, кластер или репозиторий в ArgoCD можно как используя WebUI, так и описав его в виде Kubernetes-манифеста, который потом можно передать kubectl для создания ресурса. Например, приложения являются CustomResources и описаны в Kubernets CRD applications.argoproj.io: [simterm] $ kubectl get crd applications.argoproj.io NAME CREATED AT applications.argoproj.io 2020-11-27T15:55:29Z [/simterm] Которые потом доступны в неймспейсе ArgoCD… Читать далее »

Jenkins: запуск slaves в Kubernetes и билд Docker-образов

26 февраля 2021
 

 Имеется у нас Jenkins, который запускает в Docker-контейнерах свои задачи. Со временем столкнулись с тем, что инстанс t2.2xlarge (8 CPU, 32 RAM) при пиковых нагрузках уже не справляется — забиваются и память, и процессорное время. Варианты — либо продолжать вертикальный скейлинг одного мастер-инстанса, и на нём дальше в Docker запускать джобы — или вынести запуск… Читать далее »

Jenkins: деплой Redis и Helm subchart values

29 октября 2020
 

 Задача — содать Jenkins джобу, которая будет деплоить Redis на Dev/Stage/Prod кластера. В посте Redis: Master-Slave репликация и запуск в Kubernetes сделали это вручную, посмотрели что и как вообще запускается и работает — теперь надо автоматизировать. Главный вопрос — как вообще деплоить и передавать параметры? Хочется использовать уже готовый чарт, но в тоже время —… Читать далее »

Helm: helm-secrets — шифрование sensitive данных с AWS KMS и деплой из Jenkins

15 мая 2020
 

 В продолжение поста Helm: пошаговое создание чарта и деплоймента из Jenkins — теперь нам надо добавить шифрование данных, что бы не хранить пароли и различные приватные ключи в открытом виде в Github-репозиториях — даже пусть и приватных. Судя по гуглу, чуть ли не единственный вариант — это использование helm-secrets (а подскажите в комментариях — кто… Читать далее »

Helm: пошаговое создание чарта и деплоймента из Jenkins

14 мая 2020
 

 Продолжаем трогать Kubernetes и Helm. Сам Хельм в общих чертах рассмотрели в посте Helm: Kubernetes package manager — обзор, начало работы — теперь надо прикрутить его в Jenkins. И не просто прикрутить его вызов — а создать чарт, потому что сейчас приложение деплоится через «голые» манифест-файлы Kubernetes, в котором sed проставляет теги Докер-образа и значения переменных… Читать далее »

AWS Elastic Kubernetes Service: — автоматизация создания кластера, часть 2 — Ansible, eksctl

31 марта 2020
 

 Первая часть — AWS: Elastic Kubernetes Service — автоматизация создания кластера, часть 1 — CloudFormation. Напомню, что общая идея заключается в следующем: Ansible использует модуль cloudformation , создаёт инфрастуктуру используя Outputs созданного стека CloudFormation — Ansible из шаблона генерирует файл настроек для eksctl Ansible вызывает eksctl, передавая ему конфиг кластера, и создаёт или обновляет кластер Запускаться… Читать далее »

AWS Elastic Kubernetes Service: автоматизация создания кластера, часть 1 — CloudFormation

31 марта 2020
 

 Задача: продумать автоматизацию развёртывания AWS Elastic Kubernetes Service кластера. Используем: Ansible: для автоматизации создания CloudFormation стеков и запуска eksctl с нужными параметрами CloudFormation с NestedStacks: для создания инфрастуктуры — VPC, подсетей, SecurityGroups, IAM-роли, etc eksctl: для создания самого кластера, используя ресурсы, созданные CloudFormation Идея заключается в следующем: Ansible использует модуль cloudformation , создаёт инфрастуктуру используя Outputs… Читать далее »

What is: SAML — обзор, структура и трассировка запросов на примере Jenkins и Okta SAML SSO

2 ноября 2019
 

 В процессе настройки SAML SSO для Jenkins столкнулся с проблемой, при которой не передаются часть атрибутов из Okta в Jenkins. Собственно, в этом посте попробуем разобраться с тем, что такое SAML вообще, достаточно кратко рассмотрим его архитектуру и компонены, а затем выполним трассировку запросов между Okta и Jenkins, что бы посмотреть какие данные передаются. Т.к.… Читать далее »

Jenkins: SAML, Okta, группы пользователей и Role-Based Security

15 октября 2019
 

 В продолжение поста Jenkins: SAML Authentication через Okta SSO и группы пользователей — настройка Role-Based Security авторизации в Jenkins, используя группы Okta. Настройка Role-Based Security плагина Устанавливаем плагин Role-based Authorization Strategy: Переходим в Configure Global Security, переключаем авторизацию на Role-Based Strategy: Переходим в Manage and Assign Roles: Создание ролей — Global roles Роли делятся на… Читать далее »