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

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“: Причина – тут git для аутентификации использует SSH (git@github.com), которого нет в системе: Устанавливаем: The authenticity of host ‘github.com’… Читать далее »

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 из дефолтных репозиториев: В macOS – с помощью Homebrew: Хотя я сомневаюсь, что Mac-пользователи будут… Читать далее »

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

21 мая 2018
 

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

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” } … В результате получим… Читать далее »

Git: работа с тегами (метками)

28 марта 2018
 

 Документация тут>>>, ниже примеры работы с тегами. Кратко о метках в примерах. Создаём каталог для тестового репозитория: Инициализируем пустой репозиторий: Создаём тестовый файл: Добавление тегов Теги в Git есть двух основных типов: теги с аннотациями, содержат сообщение, и имя и почту автора тега, как при коммите легковесные теги – просто указатель на определённый коммит, без… Читать далее »

Git: merge – зачем нужна опция –no-ff (no-fast-forward)

26 марта 2018
 

 Во время выполнения git merge – можно указать опцию –no-ff, что бы гит сохранил историю коммитов в feature-бранче (или девелоп-бранче, кому как удобнее называть). Рассмотрим пример. Создаём каталог: Создаём в нём репозиторий: Создаём и добавляем тестовый файл: Проверяем: Создаём новый тестовый бранч testbranch: Вносим изменения в файл: Коммитим их: Проверяем: Переключаемся на master: Мерджим без… Читать далее »