Как стать автором
Обновить
6
0
Ёлкин Тимофей @Konvergent

Инженер отдела разработки

Отправить сообщение

Jenkins Pipeline. Что это и как использовать в тестировании

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

Меня зовут Александр Михайлов, я работаю в команде интеграционного тестирования компании ЮMoney.

Наша команда занимается приемочным тестированием. Оно включает в себя прогон и разбор автотестов на критичные бизнес-процессы в тестовой среде, приближенной по конфигурации к продакшену. Еще мы пишем фреймворк, заглушки, сервисы для тестирования — в целом, создаем экосистему для автоматизации тестирования и обучаем ручных тестировщиков автоматизации.

Надеюсь, что эта статья будет интересна как новичкам, так и тем, кто съел собаку в автоматизации тестирования. Мы рассмотрим базовый синтаксис Jenkins Pipeline, разберемся, как создать джобу на основе пайплайна, а также я расскажу про опыт внедрения неочевидной функциональности в CI — запуска и дожатия автотестов по условию.

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

Пример построения процесса тестирования OpenStack на Jenkins CI

Время на прочтение2 мин
Количество просмотров7.8K
Процесс тестирования можно построить разными способами. Один из эффективных методов автоматизации процесса тестирования это непрерывное тестирование в рамках непрерывной поставки ПО. Непрерывное тестирование позволяет стабилизировать и улучшить качество кода. Т.к. любое приложение начинается с разработки, то необходимо внедрять полноценное тестирование в циклы разработки.

Основная идея непрерывной поставки в том, чтобы построить конвейер (Deployment Pipeline), позволяющий каждому изменению в системе контроля версий попасть в боевое окружение стандартным и полностью автоматизированным способом.

Пример построения Deployment Pipeline на Jenkins для первой части:

1. Создание pipeline проекта
1.1. “Создать item” — ввести название и выбрать конфигурацию pipeline
1.2. В поле “GitHub project” ввести адрес до репозитория
1.3. Выбрать чекбокс “Опрашивать SCM об изменениях” и настроить расписание на проверку репозитория каждую минуту “* * * * *”
1.4. В поле “Pipeline script” ввести шаги проекта

node{
    stage 'Deploy'
       build 'Deploy_CHECK'
    stage 'Sonar_analysis'
       build job: 'Sonar_analysis', parameters: [string(name: 'STAND', value: 'CHECK')]
    stage 'Unit tests'
        build job: 'Unit_tests', parameters: [string(name: 'STAND', value: 'CHECK')]
    stage 'Deploy DEV'
        build 'Deploy_DEV'
    stage 'Unit tests'
        build job: 'Unit_tests', parameters: [string(name: 'STAND', value: 'DEV')]
    stage 'Acceptance_test'
        build 'Acceptance_test'
    stage 'Smoke_tests'
        build job: 'Smoke_tests', parameters: [string(name: '', value: 'DEV')]
}

2. Внести изменение в репозиторий
3. В течение минуты pipeline увидит новое изменение в репозитории и запустит проверку
Читать дальше →
Всего голосов 6: ↑3 и ↓30
Комментарии3

Автоматизируй это! Как мы улучшали интеграционное тестирование

Время на прочтение8 мин
Количество просмотров16K
В давние времена у нас было всего несколько сервисов, и выложить за сутки обновление более чем одного из них на production — было большой удачей работой. Потом мир ускорился, система усложнилась, а мы трансформировались в организацию с микросервисной архитектурой. Теперь у нас около сотни сервисов, и вместе с ростом их числа увеличивается и частота релизов — их более 250 в неделю.

И если новые фичи тестируют внутри продуктовых команд, то задача команды интеграционного тестирования — проверить, что изменения, включенные в релиз, не ломают функциональность компонента, системы и других фич.



Я работаю инженером по автоматизации тестирования в Яндекс.Деньгах.
В этой статье расскажу про эволюцию интеграционного тестирования web-сервисов, а также про адаптацию процесса к увеличению числа компонентов системы и повышению частоты релизов.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии17

Самые полезные приёмы работы в командной строке Linux

Время на прочтение5 мин
Количество просмотров157K
Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

image

Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
Читать дальше →
Всего голосов 146: ↑130 и ↓16+114
Комментарии149

Удивительно полезный инструмент: lsof

Время на прочтение9 мин
Количество просмотров138K
Я привык искать проблемы в коде или в системе, пользуясь логами или показателями мониторинга, которые выводятся на симпатичных панелях управления с простым и понятным интерфейсом. Однако, если по какой-то причине данные на панель управления не поступают, или логи какой-нибудь службы недоступны, отладка усложняется. Теперь подобных проблем немного, встречаются они редко, но они, всё же, случаются. Поэтому и в наше время весьма ценно знание инструментов, которые помогают понять, что не так с неким процессом на каком-нибудь компьютере.

image
Читать дальше →
Всего голосов 73: ↑69 и ↓4+65
Комментарии30

Golang-дайджест № 4  (1 – 30 апреля 2021)

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

Свежая подборка новостей и материалов

Интересное в этом выпуске

Видео с GopherCon Russia 2021, создание BitTorrent-клиента с нуля, набор инструментов для работы с API Apple/Mac, сетевой сканер ARP, TCP, UDP, ICMP

Приятного чтения!

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

Умное — не значит дорогое: для smart-часов за $25 от Pine64 выпустили open-source прошивку

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

Команда Pine64 часто выпускает интересные устройства и ПО к ним. Об этих гаджетах на Хабре пишут достаточно часто. Например, вот статья о Linux-смартфоне PinePhone c KDE Plasma Mobile. Эта же команда разрабатывает одноплатник с RISC-V чипом, а вот еще один одноплатник, с процессором RK3566.

Но речь сейчас не обо всех этих классных девайсах, а об умных часах PineTime, которые выпущены еще в 2019 году. Большинство смарт-часов через пару лет уже считаются морально устаревшими и прекращают получать обновления. Но только не в этом случае — разработчики выпустили для девайса open-source прошивку.
Всего голосов 49: ↑48 и ↓1+62
Комментарии9

Если вы не чистите зубы, то я их вам почищу: FAQ про гигиену

Время на прочтение12 мин
Количество просмотров123K
image

Зубы до гигиены, химический агент для окраски налёта (используется в обучающих целях для того, чтобы пациент видел непрочищаемые участки) и состояние после гигиены.

Про чистку зубов есть очень много вопросов, поэтому пробежимся по основным:

  • Что будет, если не чистить зубы?
  • Можно ли чистить зубы редко, но ходить к стоматологу время от времени, чтобы он их вам «мощно почистил»?
  • Как проходит чистка зубов в стоматологии?
  • Почему швейцарцы чистят зубы вообще без пасты?
  • Работает ли жвачка?
  • Какие щётки выбирать и как? Что насчёт электрических?
  • Правда ли, что щётку надо выкидывать, когда хотя бы одна ворсинка отклоняется от вертикали?
  • Зачем нужны скребки для языка, межзубные ёршики, зубная нить и всё остальное?
  • Ирригатор заменяет чистку зубов щёткой?
  • Ополаскиватель для рта — хорошая тема?
  • Когда важнее чистить зубы — утром или вечером?
  • Чем ИТ-специалист отличается от среднего пациента по анамнезу относительно гигиены ротовой полости?
Читать дальше →
Всего голосов 124: ↑118 и ↓6+153
Комментарии209

Полезные консольные Linux утилиты

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

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Всего голосов 96: ↑92 и ↓4+110
Комментарии110

НЕрадиоуправляемые модели: вперед к беспроводным подлодкам на пульте

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

Приветствую вас, глубокоуважаемые!

Мы тут опять решили проблему, о существовании которой вы скорее всего и не подозревали: сделали хоббийные модули для передачи и приема 4 управляющих команд через воду на дальность (и глубину) до 300 метров. 

Видео испытаний лодки на акустическом управлении и подрыва фейерверка по акустическому сигналу через воду, а также зачем, почему и как - под катом.  

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

Стремена: революция, которой не было

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

Автор: Azirsan

Стремена. С завидной периодичностью встречаю мнение, что этот элемент снаряжения произвел революцию в западном военном деле, подняв тяжелую конницу на качественно новый уровень. Вот давайте разберемся, а был ли мальчик?

Также рассмотрим основные типы ведения боя всадником с копьём, а напоследок предложим свои варианты революционных новаций, позволяющих попаданцам превозмогать в конном бою.

Источники, как всегда, приведены в конце статьи.

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

Делаем вечную лампочку

Время на прочтение3 мин
Количество просмотров299K
На упаковках светодиодных ламп указывают срок службы 30, 40 или 50 тысяч часов, но многие лампочки не живут и года.

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

Читать дальше →
Всего голосов 185: ↑180 и ↓5+233
Комментарии361

Памятка пользователям ssh

Время на прочтение13 мин
Количество просмотров1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Всего голосов 360: ↑352 и ↓8+344
Комментарии148

Магия виртуализации: вводный курс в Proxmox VE

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

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

Без всякого сомнения, большинству системных администраторов знакомы приемы работы с виртуальной средой и для них эта статья не станет каким-либо открытием. Несмотря на это, есть компании, которые не используют гибкость и скорость работы виртуальных решений из-за недостатка точной информации о них. Мы надеемся, что наша статья поможет на примере понять, что гораздо проще один раз начать использовать виртуализацию, чем испытывать неудобства и недостатки физической инфраструктуры.
Читать дальше →
Всего голосов 13: ↑9 и ↓4+9
Комментарии35

Автоматическая визуализации python-кода с использованием блок-схем

Время на прочтение17 мин
Количество просмотров97K
Речь пойдет о технологии, которая дает возможность реализации инструментов разработчика, подобных показанному на картинке ниже.

image

Общий вид среды с альтернативными представлениями кода

Здесь окно среды разработки разбито на две части. Слева — привычный текстовый редактор, а справа — автоматически генерируемая диаграмма, по возможности приближенная к традиционным блок-схемам алгоритмов. Генерация и перерисовка диаграммы производится по ходу набивки текста. Среда разработки определяет паузу в действиях разработчика и обновляет диаграмму, если код остается корректным. В результате появляется возможность работы не только с текстом программы, но и с его графическим представлением.
осторожно, далее много картинок
Всего голосов 75: ↑73 и ↓2+71
Комментарии70

Масштабируемый Продакшн-реди Телеграм бот на Django

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

На хабре очень много статей о том, как создать простейшего Телеграм бота с кнопками и логикой. Есть инструкции, как это все запустить на сервере. В этой статье я расскажу, как делать масштабируемых ботов "для продакшена", которыми смогут пользоваться сотни тысяч пользователей.

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

Файрвол PF в ОС FreeBSD

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

Введение



  1. Файрвол PF в ОС FreeBSD < — Вы здесь
  2. Фильтрация трафика PF
  3. FreeBSD. Трансляции, тэги и якоря в PF
  4. FreeBSD. Условная маршрутизация средствами PF
  5. FreeBSD. Путь сетевого пакета внутри ядра


В Рунете есть множество статей о настройке FreeBSD и PF, но все они разрозненны и несистематичны. А за любыми более-менее интересными вещами, такими, как маршрутизация средствами файрвола (Policy Based Routing), приходится читать оригинальную документацию, например, OpenBSD PF FAQ. Однако, есть отличия в синтаксисе команд для FreeBSD и OpenBSD. В этом цикле статей мы пробуем систематизировать и разобрать возможности PF от простого к сложному. Наверняка, эта вводная статья будет похожа на все остальные статьи о Packet Filter. Поэтому тем, кто уже знаком с базовыми возможностями, будет не интересно. Однако, без вступления не обойтись, а мясо будет в следующих статьях.

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

«Герои Меча и Магии» в браузере: долго, сложно и невыносимо интересно

Время на прочтение22 мин
Количество просмотров104K
Как реализовать в браузере игру, на которой годы назад залипал без всякого браузера? С какими сложностями столкнёшься в процессе, и как их можно решить? И, наконец, зачем вообще это делать?

В декабре на конференции HolyJS Александр Коротаев (Tinkoff.ru) рассказал, как он сделал браузерную версию «Героев». Ранее уже появилась видеозапись доклада, а теперь для Хабра мы сделали ещё и текстовую версию. Кому удобнее видео — запускайте ролик, а кому текст — читайте его под катом:

Читать дальше →
Всего голосов 214: ↑210 и ↓4+206
Комментарии63

Всё, о чём должен знать разработчик Телеграм-ботов

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

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?

Подробный гайд о том, как работать с ботами — под катом.

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

От локального ПО до всероссийских инсталляций: как изменился ИКС за 17 лет

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

От идеи к проекту


Шел 2003 год: доллар — по 30, Интернет – по карточкам, за окном – июль, а по MTV крутят Numb и In the shadows. Несколько студентов и выпускников с кафедры информатики ЯрГУ им. Демидова решили совместными усилиями накодить что-то действительно классное, а главное нужное. Я работал тогда у местного интернет провайдера, и долго думать над тем, что именно накодить, не пришлось.



Клиенты этого и всех других провайдеров платили тогда за объем потребленного трафика, и в конце месяца, когда провайдер выкатывал счет клиентам, было много конфликтных ситуаций, типа: «мы этого не качали», «это, наверное, соседний офис, висящий на том же коммутаторе!». Как нам тогда казалось, перспектива у софта, который позволил бы клиентам проверять данные провайдера была велика. Этим мы и занялись.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+6
Комментарии14

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

Специализация

Backend Developer
От 160 000 ₽
Unix
Golang
Perl
Git