Рубрика «automation» - 2

«Восстание машин» часть 1: continuous delivery для базовых Docker образов - 1

Всем привет! Меня зовут Леонид Талалаев, я работаю в Одноклассниках в команде Платформы. Более 3-х лет назад мы запустили внутреннее облако one-cloud. Сейчас под его управлением находятся тысячи серверов в 4 дата-центрах, сотни сервисов и более десятка тысяч контейнеров.

Наше облако – это технология, проверенная временем и инцидентами — вплоть до пожара в одном из наших дата-центров. По мере роста числа сервисов росла и сложность управления. Задачи, которые раньше выполнялись вручную, начинали отнимать слишком много времени и сил.

В серии статей «Восстание машин» я расскажу, как автоматизация в one-cloud помогает экономить не только время, но и деньги. Сегодня пойдет речь о том, как мы реализовали процесс непрерывной доставки изменений базовых Docker образов.

Читать полностью »

Автоматизированная сборка Delphi-приложения

Я довольно часто сталкивался с тем, что разработчики на Delphi (можно сказать традиционно) компилируют свои приложения "ручками", что далеко не production-решение, а со стороны выглядит кустарщиной и "делаем на-коленке", хотя продукты бывают весьма серьёзными и продаваемыми. Вероятно, это пошло ещё с тех пор, когда для автоматизации нужно было придумывать свои батнички, которые запускали компилятор командной строки dcc32 с нужными параметрами. Некоторые даже сделали свой "Публикатор" — Delphi-expert, который делает работу сервера сборок: компилирует (правда, открытый в IDE) проект, выставляя ему взятый из какой-то БД инкрементированный номер версии, записывает некий changelog и копирует это куда-то в сетевой каталог.

Я не буду вдаваться в исторический экскурс как было раньше. Я расскажу как есть/можно сейчас, и как это использовать для повышения эффективности своей работы.

Файл проекта современной версии Delphi — это .dproj-файл (здесь и далее я буду ориентироваться на Delphi 10 Rio, но с небольшими отличиями это верно для всех более ранних версий Delphi, начиная с 2007). В нём хранятся все настройки проекта, которые обычно изменяют в IDE (меню Project - Options (Ctrl+Shift+F11)). В рамках данной статьи я сконцентрируюсь на "основных", которые понадобятся для демонстрации общих принципов: это Config — конфигурация, Platform — платформа, OutputDirectory — путь выходного файла и ConditionalDefines (директивы условной компиляции). Остальные настройки, если таковые нужно менять при сборке, я предлагаю выявить самостоятельно. Этот же .dproj-файл, если в него заглянуть обычным текстовым редактором, является ничем иным как скриптом сборки MSBuild (давайте создадим простое консольное приложение и назовём его DelphiAutomatedBuild):

Читать полностью »

Количество запрещенных в России сайтов стабильно растет. От блокировок страдают не только плохие ребята но и рядовые пользователи интернета.

Я как разработчики различных веб-сервисов и ресурсов, периодически сталкиваюсь с недоступностью последних в России. Это создает проблемы как для бизнесов, так и для личных проектов. Нельзя быть уверенным, что завтра ваш сайт откроется у посетителей.

Продвинутые пользователи уже привыкли жить с VPN или прокси. К сожалению, простые смертные зачастую ничего об этом не знают. Заставить всех использовать средства обхода невозможно, в таком случае, я предлагаю взять ответственность за доступность сайта в свои руки.

Есть несколько способов, в том числе официальных, узнать о том что ресурс заблокирован, например Is It Blocked In Russia? — идею которого я позаимствовал. Этого достаточно для ручной проверки сайта. Действие легко воспроизвести, а значит автоматизировать.

В качестве проекта выходного дня, я запилил небольшой сервис, который частично копирует и расширяет возможности оригинального проекта. Для простоты, я добавил отдельный путь вида /ping?url=habr.com, который в виде ответа возвращает HTTP-статус: 200 — сайт доступен в России, 451 — сайт не доступен, 400 — с адресом что-то не так. В таком виде, ссылку можно скормить любому сервису мониторинга, например https://uptimerobot.com.

Читать полностью »

Представляем вам перевод статьи Sm0ke, опубликованной на сайте dev.to. Автор рассказывает о своем опыте генерации веб-приложений и способе автоматизации процесса их создания.

Привет, кодеры!

Я — разработчик-фрилансер, и я сгенерировал более 100 приложений на различных языках и платформах, используя инструменты автоматизации, парсинг HTML и бойлерплейт-код.

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

#1  Сгенерированные JAMstack-приложения

Всего я создал более 40 таких приложений. Дизайн для них разрабатывали известные веб-агентства.

Как я создал более 100 приложений с открытым кодом, используя инструменты автоматизации - 1Читать полностью »

Сертификационная программа Cisco существует уже 26 лет (была основана в 1993 году). Многим хорошо известна инженерная линейка сертификаций CCNA, CCNP, CCIE. В этом году программа дополнилась еще и сертификациями для девелепоров, а именно DevNet Associate, DevNet Specialist, DevNet Professional, DevNet Expert.

Сама программа DevNet существует в компании более пяти лет. Детально про программу Cisco DevNet уже было написано на хабре в этой статье.

И так что мы имеем касательно новых сертификаций:

  1. Как и для инженерных сертификаций, существует четыре уровня DevNet сертификаций — Associate, Specialist, Professional, Expert.
  2. Инженерные сертификации дополняются модулями по направлению автоматизации/программированию.
  3. В сертификациях для разработчиков есть модуль связанная с основами сетевой программируемости

Новые сертификации для девелоперов от Cisco. Обзор отраслевых сертификаций - 1

Давайте рассмотрим каждую из сертификаций, в том числе контент и на кого ориентирована.

Читать полностью »

Меня зовут Лилия, я QA Lead в одном из проектов финансовой группы БКС (сервис по подбору выгодных для клиента предложений из ряда кредитных продуктов), и сегодня я расскажу, как мы автоматизировали смок-тестирование, с какими проблемами столкнулись и какой стек технологий используем.

Сначала мы решили автоматизировать регресс-тестирование, но время шло, функциональность менялась и мы поняли, что довольно много времени тратится на поддержку уже написанных автотестов. Поэтому решили автоматизировать сначала смок-тест, а затем уже расширять его до автоматического проведения регрессионного тестирования. Перед отделом тестирования была поставлена задача в максимально сжатые сроки произвести автоматизацию смок-тестирования, т.к. проект продолжал расти и обрастать дополнительными функциями.Читать полностью »

image

Какое-то время назад мы сделали безагентский (Agentless) мониторинг и алармы к нему. Это аналог CloudWatch в AWS с совместимым API. Сейчас мы работаем над балансировщиками и автоматическим скейлингом. Но пока мы не предоставляем такой сервис — предлагаем нашим заказчикам сделать его самим, используя в качестве источника данных наш мониторинг и теги (AWS Resource Tagging API) как простой service discovery. Как это сделать покажем в этом посте.

Читать полностью »

GitLab Shell Runner. Конкурентный запуск тестируемых сервисов при помощи Docker Compose - 1

Данная статья будет интересна как тестировщикам, так и разработчикам, но рассчитана в большей степени на автоматизаторов, которые столкнулись с проблемой настройки GitLab CI/CD для проведения интеграционного тестирования в условиях недостаточности инфраструктурных ресурсов и/или отсутствия платформы оркестрации контейнеров. Я расскажу, как настроить развертывание тестируемых окружений при помощи docker compose на одном единственном GitLab shell раннере и так, чтобы при развертывании нескольких окружений запускаемые сервисы друг другу не мешали.

Читать полностью »

Здравствуйте. Меня зовут Ибадов Илькин, я студент Уральского федерального университета.

В данной статье я хочу рассказать о своем опыте автоматизированного решения капчи компании «Google» — «reCAPTCHA». Хотелось бы заранее предупредить читателя о том, что на момент написания статьи прототип работает не так эффективно, как может показаться из заголовка, однако, результат демонстрирует, что реализуемый подход способен решать поставленную задачу.
Читать полностью »

Анонс FunTech QA-automation meetup - 1
Всем привет! Приглашаем QA-инженеров на наш первый митап по тестированию, посвящённый автоматизации.

Программа

«Автотесты, объединяющие подходы, платформы и сердца», Михаил Чирков, ivi.ru

Преимущества и недостатки кроссплатформенных автотестов (в нашем случае речь о платформах android и web), сложности реализации и пути решения проблем при выстраивании автотестирования from scratch, screenplay vs pageobject. А может быть выбирать и не нужно?

Доклад будет интересен как тем, кто только стоит перед выбором писать моноплатформенные тесты или кроссплатформенные, так и тем, кто уже определился с выбором.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js