Архив рубрики: Version Control System

A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information.

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: декларативные 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… Читать далее »

Github: обзор Github Actions и деплой с ArgoCD

6 мая 2021

Github Actions уже достаточно давно и плотно используются нашими разработчиками, дошли и у меня руки, что бы поближе познакомиться с этим сервисом от горячолюбимого Microsoft, так как в Github они появились уже после покупки Github этой прекрасной компанией. По сути, Github Actions весьма схож с TravisCI, но более тесно интегрирован в сам Github, вплоть до того,… Читать далее »

ArgoCD: CIOps vs GitOps и деплой приложения из TravisCI

28 ноября 2020

Штош, пришло время подумать о том, как мы будем деплоить наши приложения. Сейчас у нас используются Github-репозитории с кодом и Helm-шаблонами, и Jenkins. Билд в Jenkins в большинстве проектов запускается вручную, после чего: Jenkins-джоба клонирует репозиторий с кодом и манифестами, билдит Docker-образ пушит его в Docker Hub вызывает helm upgrade –install, которому через –set передаёт… Читать далее »

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… Читать далее »

Github: SAML Okta – настройка SSO в Github Enterprise Cloud – Organization

21 октября 2019

В продолжение темы SSO, Okta и SAML. Для Jenkins всё сделано (см. Jenkins: SAML, Okta, группы пользователей и Role-Based Security) – теперь пришёл черёд Github. Идея та же: в Okta держим список пользователей, при логине в Github (наш Service provider, SP) – он должен запросить авторизацию у нашего Identity Provider, IDP – Okta, используя SAML.… Читать далее »