Как стать автором
Обновить

Заметка о интеграционном тестировании используя Jenkins на Kubernetes

Время на прочтение3 мин
Количество просмотров4.2K

Добрый день.


Практически сразу после установки и конфигурации CI/CD по инструкции из предыдущего поста у команды возник вопрос как правильно осуществлять интеграционное тестирование. У нас уже был опыт запуска тестовых зависимостей в docker контейнерах, но это стало проблематичным так как теперь сама сборка была запущена в контейнере. В этой заметке я бы хотел описать два возможных способа интеграционного тестирования внутри контейнера, которые подошли моей команде.

Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

В будущее с интеграцией сервисов Jenkins & Oracle APEX

Время на прочтение5 мин
Количество просмотров4.3K
В процессе управления большими объемами данных и их визуализацией мы все чаще сталкиваемся с необходимостью внедрения единого инструмента доступа к управлению функционалом в хранилище. Причем этот инструмент должен быть одинаково удобен и понятен всем сотрудникам подразделения по управлению данными: администраторам, аналитикам, разработчикам и тестировщикам.



Меня зовут Виталий, я отвечаю в Ростелекоме за направление автоматизации тестирования и внедрение DevOps процессов. В данной статье я расскажу об интересном решении данной проблемы в крупном хранилище данных компании Ростелеком.

И вот как мы пришли к такому набору инструментов для решения данной задачи.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии0

Метрики DevOps – откуда брать данные для расчетов

Время на прочтение3 мин
Количество просмотров4.8K
Честно говоря, Иван часто посмеивался над тщетными усилиями коллег из отдела мониторинга. Они прилагали огромные усилия для реализации метрик, которые им заказывало руководство компании. Они были настолько заняты, что больше никому ничего не хотели делать.

А руководству всё было мало – оно постоянно заказывало всё новые и новые метрики, очень быстро переставая пользоваться тем, что были сделаны ранее.

Последнее время все только и говорили про LeadTime – время поставки бизнесовых фич. Метрика показала сумасшедшее число – 200 дней на поставку одной задачи. Как же все охали, ахали и воздевали руки к небу!

Через некоторое время шум постепенно затих и от руководства поступил заказ на создание еще одной метрики.

Ивану было совершенно понятно, что и новая метрика точно также тихонько помрёт в тёмном уголке.

Действительно, размышлял Иван, знание числа совершенно никому ни о чём не говорит. 200 дней или 2 дня – нет никакой разницы, потому что по числу невозможно определить причину и понять, хорошо это или плохо.

Это типичная ловушка метрик: кажется, что новая метрика расскажет суть бытия и объяснит какой-то тайный секрет. Все так на это надеются, но ничего почему-то не происходит. Да потому что секрет надо искать вовсе не в метриках!

Для Ивана это был пройденный этап. Он понимал, что метрики – это просто обычная деревянная линейка для измерений, а все секреты надо искать в объекте влияния, т.е. в том, что эту метрику формирует.

Для интернет-магазина объектом влияния будут его клиенты, приносящие деньги, а для DevOps – команды, создающие и раскатывающие дистрибутивы с использованием конвейера.

Однажды, устроившись в холле в удобном кресле Иван решил как следует продумать как бы он хотел видеть метрики DevOps с учётом того, что объектом влияния являются команды.

Цель метрик DevOps


Понятно, что всем хочется уменьшить время поставки. 200 дней – это, конечно, никуда не годится.

Но как, вот в чем вопрос?
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Docs as Code. Часть 1: автоматизируем обновление

Время на прочтение8 мин
Количество просмотров10K


В больших проектах, состоящих из десятков и сотен взаимодействующих сервисов, всё чаще становится обязательным подход к документации как к коду — docs as code.


Я покажу, как можно применять эту философию в реалиях classified-сервиса, а точнее, начну с первого этапа её внедрения: автоматизации обновления данных в документации.

Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии1

CI\CD для стартапа: какие есть инструменты, и почему ими пользуются не только крупные и известные компании

Время на прочтение5 мин
Количество просмотров18K
Разработчики CI\CD-инструментов часто указывают в качестве клиентов крупные компании — Microsoft, Oculus, Red Hat, даже Ferrari и NASA. Казалось бы, что такие бренды работают только с дорогими системами, которые не сможет позволить себе условный стартап из пары разработчиков и дизайнера. Но значительная часть инструментов доступна и для небольших команд.

На что можно обратить внимание — расскажем далее.

Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии22

Почему системные администраторы должны становиться DevOps-инженерами

Время на прочтение7 мин
Количество просмотров42K

Для обучения в жизни нет лучшего времени, чем сегодня.

На дворе 2019 год, и тема DevOps сейчас актуальна, как никогда. Говорят, что дни системных администраторов прошли, как миновала эпоха мейнфреймов. Но так ли это на самом деле?
Как это часто бывает в IT, ситуация изменилась. Появилась методология DevOps, но она не может существовать без человека с навыками системного администратора, то есть без Ops.

До того как DevOps-подход приобрёл свой современный облик, я относил себя к категории Ops. И я хорошо знаю, что испытывает сисадмин, когда понимает, сколько же всего он пока не умеет и как мало времени у него на то, чтобы этому научиться.
Читать дальше →
Всего голосов 46: ↑40 и ↓6+34
Комментарии23

Jenkins Pipeline: заметки об оптимизации. Часть 1

Время на прочтение9 мин
Количество просмотров15K


Меня зовут Илья Гуляев, я занимаюсь автоматизацией тестирования в команде Post Deployment Verification в компании DINS.

В DINS мы используем Jenkins во многих процессах: от сборки билдов до запуска деплоев и автотестов. В моей команде мы используем Jenkins в качестве платформы для единообразного запуска смоук-проверок после деплоя каждого нашего сервиса от девелоперских окружений до продакшена.

Год назад другие команды решили использовать наши пайплайны не только для проверки одного сервиса после его обновления, но и проверять состояние всего окружения перед запуском больших пачек тестов. Нагрузка на нашу платформу возросла в десятки раз, и Jenkins перестал справляться с поставленной задачей и стал просто падать. Мы быстро поняли, что добавление ресурсов и тюнинг сборщика мусора могут лишь отсрочить проблему, но не решат ее полностью. Поэтому мы решили найти узкие места Jenkins и оптимизировать их.

В этой статье я расскажу, как работает Jenkins Pipeline, и поделюсь своими находками, которые, возможно, помогут вам сделать пайплайны быстрее. Материал будет полезен инженерам, которые уже работали с Jenkins, и хотят познакомиться с инструментом ближе.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии3

Битва Jenkins и GitLab CI/CD

Время на прочтение11 мин
Количество просмотров56K
В последнее десятилетие достигнуты значительные успехи в сфере разработки инструментов непрерывной интеграции (Continuous Integration, CI) и непрерывного развёртывания (Continuous Delivery, CD). Развитие технологий интеграции разработки и эксплуатации ПО (Development Operations, DevOps) привело к быстрому росту спроса на CI/CD-инструменты. Существующие решения постоянно улучшаются, стремясь идти в ногу со временем, выходят их новые версии, в мире контроля качества ПО (Quality Assurance, QA) постоянно появляется множество новых продуктов. При таком богатстве выбора подбор подходящего инструментария оказывается нелёгкой задачей.



Среди всех существующих CI/CD инструментов существуют два проекта, на которые, определённо, стоит обратить внимание тому, кто ищет что-то из этой сферы. Речь идёт о Jenkins и об инструменте GitLab CI/CD, который является частью платформы GitLab. У Jenkins имеется более 16000 звёзд на GitHub. Репозиторий GitLab на gitlab.com набрал чуть больше 2000 звёзд. Если сравнить популярность репозиториев, то окажется, что Jenkins набрал в 8 раз больше звёзд, чем платформа, в состав которой входит GitLab CI/CD. Но при выборе CI/CD-инструмента это — далеко не единственный показатель, на который стоит обращать внимание. Есть и масса других, и это объясняет то, что во многих сравнениях Jenkins и GitLab CI/CD оказываются очень близко друг к другу.
Читать дальше →
Всего голосов 54: ↑50 и ↓4+46
Комментарии121

Разбираемся с CAMELK, инструкция по руководству OpenShift Pipelines, а также семинары в формате TechTalk…

Время на прочтение3 мин
Количество просмотров982


Возвращаемся к вам с традиционным коротким дайджестом полезных материалов, найденных нами в сети за последние две недели.
Читать дальше: Разбираемся с CAMELK, инструкция по руководству OpenShift Pipelines...
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

Интеграция CI/CD для нескольких сред с Jenkins и Fastlane. Часть 1

Время на прочтение7 мин
Количество просмотров6.5K

Внедрение технологий непрерывной интеграции (Continuous Integration - CI) и непрерывного развертывания (Continuous Delivery - CD) в процесс разработки - бесспорно единственный способ отслеживать актуальность изменений кода и определять ошибки интеграции на самых ранних этапах. Это также еще и путь к отлаженным билдам, практически сразу же доступным для тестирования и готовым к отправке в продакшн даже после значительных изменений кода.

Интегрируя CI/CD в свою повседневную работу, разработчики могут достичь двух важных целей: во-первых, возможность запускать наборы тестов на сервере, который не является рабочим компьютером, чтобы инженер мог продолжать разрабатывать новый функционал без отвлекающих факторов и, во-вторых, возможность отправлять билды своему заказчику или инженеру по обеспечению качества, чтобы продемонстрировать/протестировать/проанализировать новую фичу, даже если они не могут собрать и запустить проект на своих собственных компьютерах.

Но что происходит, когда у нас есть несколько промежуточных сред, и тесты должны выполняться на разных серверах или функции должны тестироваться в разных средах? Вот где на помощь приходят Jenkins и Fastlane  - инструменты, которые позволяют автоматизировать процесс под различные конфигурации, и именно на этом фокусируется данная статья.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Одна строка, которая ускорила клонирование в 100 раз

Время на прочтение2 мин
Количество просмотров16K
Наша группа по оптимизации производительности нашла маленькое изменение, которое оказало большое влияние на скорость сборки по всем конвейерам. Мы обнаружили, что установка параметра refspec во время git fetch ускоряет шаг клонирования в 100 раз.

Группа Engineering Productivity отвечает за поддержку инженеров, которые создают и развёртывают программное обеспечение в Pinterest. Наша команда поддерживает ряд инфраструктурных сервисов и часто работает над крупными проектами — перенос всего программного обеспечения на Bazel, создание платформы непрерывной доставки под названием Hermez. Они же поддерживают монорепозитории, куда ежедневно присылают по несколько сотен коммитов, и это ещё не все их задачи.
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии29

Интеграция CI/CD для нескольких сред с Jenkins и Fastlane. Часть 2

Время на прочтение6 мин
Количество просмотров3.6K

В преддверии старта курса "iOS Developer. Basic" продолжаем публиковать серию полезных переводов, а также приглашаем записаться на бесплатный демо-урок по теме: "Result Type".

Внедрение технологий непрерывной интеграции (Continuous Integration - CI) и непрерывного развертывания (Continuous Delivery - CD) в процесс разработки - бесспорно единственный способ отслеживать актуальность изменений кода и определять ошибки интеграции на самых ранних этапах. Это также еще и путь к отлаженным билдам, практически сразу же доступным для тестирования и готовым к отправке в продакшн даже после значительных изменений кода.

Интегрируя CI/CD в свою повседневную работу, разработчики могут достичь двух важных целей: во-первых, возможность запускать наборы тестов на сервере, который не является рабочим компьютером, чтобы инженер мог продолжать разрабатывать новый функционал без отвлекающих факторов и, во-вторых, возможность отправлять билды своему заказчику или инженеру по обеспечению качества, чтобы продемонстрировать/протестировать/проанализировать новую фичу, даже если они не могут собрать и запустить проект на своих собственных компьютерах.

Но что происходит, когда у нас есть несколько промежуточных сред, и тесты должны выполняться на разных серверах или функции должны тестироваться в разных средах? Вот где на помощь приходят Jenkins и Fastlane  - инструменты, которые позволяют автоматизировать процесс под различные конфигурации, и именно на этом фокусируется данная статья.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Автоматизация публикации приложения в Google Play при помощи Jenkins

Время на прочтение6 мин
Количество просмотров3.6K

Для этого нам понадобится

1) Действующий account Google Play Developer

2) Сервер Linux с предустановленным Docker, в моём случае это Ubuntu 16.04

3) Установленный Android SDK

4) Jenkins - в данном случае развернём его при помощи Docker

5) Gitea - Удобная служба для собственного Git-репозитория (это не обязательно можно использовать и GItHub) её мы подымем также на базе Docker контейнера

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии4

Автоматизируем поиск секретов в git и ansible

Время на прочтение9 мин
Количество просмотров9.4K

Знаете ли вы что хранится в вашем git репозитории? Нет ли среди сотен коммитов паролей от продуктовых серверов, попавших туда по ошибке?

А что если ansible скрипт при публикации упадет и засветит пароли в логе?

Рассказываю о том как мы попробовали автоматизировать такие проверки и что из этого получилось.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии5

Какой CI/CD-инструмент выбрать — Jenkins или GitLab?

Время на прочтение3 мин
Количество просмотров7.9K
Инструменты непрерывной интеграции и развертывания CI/CD на сегодня довольно востребованы. Из всех актуальных решений есть два очевидных лидера, Jenkins и GitLab. На крупных сервисах отзывов у обоих решений примерно одинаковый рейтинг, но смотреть стоит не только на это. Давайте разберемся с преимуществами Jenkins и GitLab, и для каких задач они лучше всего подходят.


Читать дальше →
Всего голосов 17: ↑7 и ↓10-3
Комментарии5

Тестирование скриншотами

Время на прочтение5 мин
Количество просмотров14K

Здравствуйте! Сегодня хочу рассказать о нашем опыте тестирования скриншотами с использованием python, selenium, и Pillow.

Зачем? У нас был довольно большой (~1000) набор тестов на стеке python, pytest, selenium, которые отлично проверяли, что кнопки кликаются, а статистика отправляется (с использованием browserup proxy), но пропускали баги типа таких:  

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии0

Мониторинг производительности приложений и метрики здоровья без APM

Время на прочтение9 мин
Количество просмотров5.3K

Привет, Habr! Я уже рассказывал про AIOps и методы машинного обучения в работе с ИТ-инцидентами, про зонтичный мониторинг и различные подходы к сервис менеджменту. Сейчас хотелось бы поделиться вполне конкретным алгоритмом, как можно без особых затрат быстро получить информацию о работоспособности бизнес-приложений с помощью синтетического мониторинга и построить на базе этого метрики здоровья бизнес-сервисов. Рассказ будет построен на кейсе внедрения подхода в одной авиакомпании.

Сейчас есть много APM систем, таких как Appdynamics, Dynatrace, и других, где есть внутри модуль контроля UX через синтетические проверки. И если стоит задача быстрее пользователей узнать о сбое, я расскажу почему все эти APM не нужны. Также модной фишкой APM являются метрики здоровья, я покажу как можно их построить без дорогого APM.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии6

Зачем разработчикам приложений нужен Mobile DevOps?

Время на прочтение7 мин
Количество просмотров2.2K

Существует множество статей и дискуссий на тему внедрения технологий Mobile DevOps и их интегрирования в текущие процессы. Более того, сейчас можно найти информацию о том, как эффективно и выгодно использовать этот ресурс в контексте компании/бизнеса. Однако, разговоров на тему ПОЧЕМУ мобильный DevOps может принести большую пользу компаниям, стремящимся к полной интеграции IT и других операционных взаимодействий с их бизнес-целями, не так много.

Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии3

Процесс автоматизации UI-тестов в проекте DELL EMC XtremIO Management Server (XMS)

Время на прочтение6 мин
Количество просмотров2.8K
Всем привет! Вас приветствуют Игорь Харитонов и Иван Селиванов — уже более 2,5 лет мы трудимся вместе на должности QA-инженеров в проекте XtremIO Management Server (XMS) компании Dell Technologies. Сегодня мы хотим поделиться полным процессом организации и автоматизации тестирования WebUI-части с нуля, поскольку не нашли на просторах Интернета подробного описания процесса автоматизации и хорошего решения для настройки окружения под UI-автотесты.


Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии3

Реализация CI/CD для корпоративных хранилищ данных

Время на прочтение5 мин
Количество просмотров7.5K

В Сети много рецептов приготовления CI/CD для решения различных проблем и организации процессов под определённые нужды. В этой статье мы опишем ещё один, суть которого - приготовить процесс, максимально близкий к классическому подходу, несмотря на то что предназначен он для разработки КХД, и решить проблему организации работы большой команды.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии3