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

GitLab: Helm-чарт values, зависимости и деплой в Kubernetes с AWS S3

4 февраля 2023
 

 Продолжаем сетапить GitLab в Kubernetes. Первая часть – GitLab: компоненты, архитектура, инфраструктура и запуск из Helm-чарта в Minikube, теперь давайте готовиться деплоить в AWS Elastic Kubernetes Service. Что будем делать и где: деплоим в AWS из Helm-чарта, для начала какой-то “test env” Kubernetes – AWS EKS object store – AWS S3 PostgreSQL – из operator Redis –… Читать далее »

GitLab: компоненты, архитектура, инфраструктура и запуск из Helm-чарта в Minikube

2 февраля 2023
 

 Так как GitLab недавно изменил политику предоставления Free-доступа, и теперь по Free подписке будет доступно только 5 пользователей, то решили мы переезжать на self-hosted версию. Вообще с лицензией у них интересно: цена зависит от количества пользователей, купить можно минимум на год, и после покупки уменьшить количество пользователей в лицензии нельзя (но можно увеличить). Крутить будем… Читать далее »

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

12 августа 2021
 

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

ArgoCD: обзор, запуск, настройка SSL, деплой приложения

19 ноября 2020
 

 ArgoCD помогает деплоить приложения в Kubernetes, используя GitOps подход, т.е. когда приложения, конфиги, манифесты и тому подобные данных хранятся в Git-репозитории. Поддерживает работу с “голыми” манифестами Kubernetes, kustomize, ksonnet, jsonnet и то, чем пользуемся мы – Helm-шаблонами. ArgoCD запускает свой контроллер в Kubernetes-кластере, и отслеживает изменения в Git-репозиториях, синхронизируя приложения в кластере с их манифестами… Читать далее »

Git: git clone – fatal: unable to fork и RSA key fingerprint

23 октября 2020
 

 Имеется Docker-образ с установленным Git. Задача – во время запуска контейнера склонировать в него репозиторий. git clone – fatal: unable to fork Во время попытки выполнения git clone в Docker-контейнере – получаем ошибку “unable to fork“: [simterm] / # git clone [email protected]:projectname/backend-services.git Cloning into ‘backend-services’… fatal: unable to fork [/simterm] Причина – тут git для… Читать далее »

Kubernetes: дебаг Init containers при запуске SQL-миграций

15 октября 2020
 

 Имеется приложение в Kubernetes. Деплоится из Helm-чарта. При очередном деплое – новые поды не стартуют, а сам деплой падает со стандартной ошибкой “Upgrade “CHARTNAME” failed: timed out waiting for the condition“: wait.go:225: [debug] Deployment is not ready: eks-dev-1-community-api-ns/community-api. 0 out of 3 expected pods are ready upgrade.go:367: [debug] warning: Upgrade “community-api” failed: timed out waiting… Читать далее »

SonarQube: ошибка “SCM provider autodetection failed”

19 июня 2019
 

 Имеется свежая установка SonarQube, см пост SonarQube: запуск в Docker и вызов из Jenkins Pipeline. Проблема Но в дашборде проекта постоянно висит сообщение вида: SCM provider autodetection failed. Please use “sonar.scm.provider” to define SCM of your project, or disable the SCM Sensor in the project settings. И оно же выводится в логах билда в Jenkins.… Читать далее »

Linux: GPG-ключи, менеджер паролей pass и импорт из KeePass

25 апреля 2019
 

 pass – менеджер паролей для Linux/UNIX, наверно один из старейших. Хранит данные в древовидной структуре каталогов и файлов, а сами файлы с секретами шифрует с помощью GPG-ключа. В Arch Linux есть из коробки, в Debian можно установить с помощь apt из дефолтных репозиториев: [simterm] $ sudo apt install pass [/simterm] В macOS – с помощью… Читать далее »

Git: пример merge develop в master

21 мая 2018
 

 Пример того, как смерджить бранч из девелоп-ветки в мастер, с сохранением всех коммитов и истории. Переключаемся на мастер, потягиваем последние изменения: $ git checkout master $ git pull Already up to date. Переключаемся на бранч, который будем мерджить в master, в данном примере это LTHS-380_Update_build_deploy_to_compose: [simterm] $ git checkout LTHS-380_Update_build_deploy_to_compose M scripts/api_start.sh M terraform/terraform-cn.sh Switched to… Читать далее »

Jenkins: получить пароль из Credentials Binding Plugin

25 апреля 2018
 

 Задача – добавить и запушить тег после билда, используя логин:пароль репозитория, которые добавлены в Credentials Binding Plugin. Само решение достаточно костыльное, но рабочее. Главная проблема в том, что Jenkins маскирует пароль ****. Т.е. при вызове: … withCredentials([usernamePassword(credentialsId: ‘git’, usernameVariable: ‘USERNAME’, passwordVariable: ‘PASSWORD’)]) { sh “echo pass $PASSWORD” sh “echo user $USERNAME” } … В результате получим… Читать далее »