Архив метки: CI/CD

Kubernetes: типы Deployment Strategies и Argo Rollouts

21 мая 2021
 

 Одна из целей, которые мы преследуем внедряя ArgoCD в Kubernetes – использование новых Deployment Strategies для наших приложений. Ниже рассмотрим типы деплойментов в Kubernetes, как работают Deployment в Kubernetes, и быстрый пример использования Argo Rollouts, который более детально будем рассматривать в следущих постах. Deployment Strategies и Kubernetes Кратко рассмотрим стратегии деплоя, имеющиеся в Kubernetes. Сам… Читать далее »

ArgoCD: пользователи, доступы и RBAC

13 мая 2021
 

 ArgoCD использует два типа пользователей – локальные, заданные в argocd-cm ConfigMap, и SSO. Ниже рассмотрим работу с локальными пользователями, а позже добавим SSO и группы, так как для локальных пользователей нельзя создавать группы, см. Local users/accounts. Разделение доступов выполняется с помощью ролей, которым подключаются политики, описывающие к чему есть доступ, и на какие операции. При… Читать далее »

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

6 мая 2021
 

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

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

26 февраля 2021
 

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

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

28 ноября 2020
 

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

CircleCI: обзор Continuous Integration сервиса

31 мая 2018
 

 CircleCI – система для сборки и деплоя, аналогичная Travis CI (Github), и работающая по тем же принципам – к CircleCI-аккаунту подключаются репозитории (в отличи от Travis – к CircleCI можно добавить любой репозиторий, в т.ч. Bitbucket), билды выполняются в контейнерах или вирутальных машинах, уведомления о результатах билда можно получить на почту или через интеграцию со Slack/HipChat etc, а… Читать далее »

Jenkins: sandbox.RejectedAccessException: Scripts not permitted to use

8 февраля 2017
 

 Во время создания нового билда – ошибка: org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object (org.jenkinsci.plugins.docker.workflow.Docker push org.codehaus.groovy.runtime.GStringImpl) Ответ нагугливается тут>>> по запросу “RejectedAccessException: Scripts not permitted to use“.

Travis: уведомления в Slack и работа с бранчами – примеры

12 июня 2016
 

 branches Пример реализации работы с разными бранчами в Travis. Пример файла: $ cat .travis.yml branches: only: – master script: – ./scripts/dns_update.sh -v – test $TRAVIS_TEST_RESULT == 0 && ./scripts/dns_update.sh -b – test $TRAVIS_TEST_RESULT == 0 && ./scripts/dns_update.sh -i notifications: slack: rooms: – akka:YbsC***6h5u#ok-technology on_failure: always on_success: always

Travis: Maven билд Java приложения и деплой на Azure

30 мая 2016
 

 Travis – Continuous Integration сервис от разработчиков Github. Является hosted-решением, т.е. располагается на серверах самого Travis. На данный момент – умеет работать только с гит-репоизториями Github, поддержка других сервисов на 2016 год не планируется.

Jenkins: плагин Multiple SCMs – несколько репозиториев для проекта

20 января 2016
 

 Исходный код находится в одном репозитории, а скрипты билдов-деплоев – в другом. При этом – в них используются разные бранчи. Необходимо загрузить оба репозитория. Для решения – используем плагин Multiple SCMs.