Сократите затраты на инструменты автоматизации с помощью этих конвейеров DevOps.
Сократите затраты на инструменты автоматизации с помощью этих конвейеров DevOps.

Уменьшите зависимость от лицензий за счет интеграции GitHub Actions для автоматического тестирования.

Переведено с Use These DevOps Pipelines To Cut Automation Tool Costs,Гаурав Миттал.

Многие ИТ-организации используют лицензионный инструмент автоматизации.,Но предоставлять лицензии всем QA и разработчикам нецелесообразно. в целом,Лицензии выдаются назначенным инженерам по автоматизации.,Они создают и запускаются по мере необходимоститест。этотСоздает задачу для любого члена команды выполнять тестирование по требованию.。Поскольку большинствоавтоматизация Инженеры за границей,Поэтому для локального выполнения тестов требуется дополнительная лицензия.,Это может быть очень дорого. также,Обеспечить качественный код, адекватное освещение、Отсутствие запаха кода и тщательное сканирование безопасности имеют решающее значение.

Моя организация большая и охватывает несколько областей, таких как ERP, данные, системы управления лабораторной информацией (LIMS), программное обеспечение для автоматизации и робототехники, биопроизводство и программное обеспечение для клеточной/генной терапии. В каждом регионе используется собственное решение DevOps, в первую очередь Jenkins, за которое взимаются ежемесячные расходы. Чтобы иметь единую структуру DevOps для всей организации, я исследовал несколько инструментов DevOps, чтобы определить наиболее экономически эффективное решение. Цель состоит в том, чтобы иметь единую структуру, которую можно было бы использовать в разных проектах в разных областях.

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

Поэтому я начал связываться с несколькими поставщиками и в итоге перечислил Jenkins, GitHub Actions (GHA) и Gearset как общие инструменты, которые можно использовать во многих областях. После дальнейшего анализа с моей командой мы обнаружили, что GHA был лучшим выбором с точки зрения стоимости и простоты добавления проверок безопасности и модульных тестов в конвейер.

В этой статье я продемонстрировал преимущества GitHub Actions (GHA) как CI-инструмента. ГСГ имеет открытый исходный код,Но затраты будут понесены в зависимости от использования бегуна.。Я также предложил инновационное решение, позволяющее исключить затраты на бегунков.。ВоляИнструменты качества кода, такие как SonarQube и CodeQL, интегрированы в конвейер.Также обеспечивает сканирование безопасности и выявляет проблемы перед развертыванием.。

Преимущества внедрения конвейера непрерывной интеграции (CI)

  1. Тесты можно вызывать, не требуя доступа пользователя к средству автоматизации.

Автоматизированные инструменты, требующие лицензии, могут использоваться только лицензированными лицами. Однако при интеграции с конвейером CI любой пользователь, имеющий доступ к CI, может запускать задания, не требуя прямой лицензии. Такой подход оптимизирует управление пулами лицензий, снижает затраты и расширяет возможности инструмента для автоматизации тестирования. Например, все разработчики с доступом к GitHub Actions (GHA) теперь могут вызывать инструменты автоматизации, не требуя отдельной лицензии.

  1. Устраните необходимость в ресурсах контроля качества

Некоторые инструменты автоматизации не позволяют тестировщикам/разработчикам покидать экран пользовательского интерфейса во время выполнения теста пользовательского интерфейса, тем самым не позволяя им выполнять другие задачи на компьютере. Использование GitHub Actions (GHA)Конвейерные вызовыавтоматизацияинструмент Это ограничение снято,позволятьРазработчики и тестировщики решаютДругие задачи,А автоматизация работает в фоновом режиме. После выполнения,Будет отправлено электронное письмо с подробным и удобным для пользователя отчетом о результатах теста в формате PDF.

Рисунок. Изображение того, как автоматизация помогает сократить ручную работу.

До CI Pipeline — настройка выполнения тестов вручную эффективно сократила наше время с XXX часов до XX часов, но нам все равно нужно выделить XX часов, поскольку ресурсы QA должны контролировать экраны во время выполнения теста.

Рисунок. Изображение действий GitHub, позволяющее свести усилия по автоматизации к нулю.

Автоматическая интеграция CI/CD. Сократите эти часы до нуля, поскольку конвейер CI управляет сеансами и устраняет необходимость ручного мониторинга во время выполнения тестов.

Другие преимущества использования GHA в качестве инструмента CI/CD для автоматического тестирования

  1. Доступ к GHA бесплатен с помощью учетной записи пользователя GitHub.

Действия GitHub — это функция GitHub, которая включена по умолчанию, поэтому явный доступ к GHA не требуется. Он поддерживает рабочие процессы CI/CD непосредственно в вашем репозитории.

  1. Экономия средств: исключите расходы на инфраструктуру AWS.

Для конвейера CI/CD,Нам нужно интегрировать раннер (виртуальная машина, необходимая для запуска заданий CI),Обычно настраивается в облаках, таких как AWS.,повлечет за собой дополнительные расходы,И оно растет по мере увеличения нагрузки. Однако,через эту программу,В качестве посредника мы используем машину Win365, предоставленную организацией.,Это исключает дополнительныеЗатраты оператора инфраструктуры。всеавтоматизация Инженеры оснащеныWin365Машина для монтажа и исполненияавтоматизация Скрипт。

Рисунок – экземпляры Microsoft Win365 и AWS EC2

Замените бегун AWS на бегун Win365

Если он обеспечивает ту же виртуальную среду, что и его образ на рабочем столе машина,Членам команды автоматизации нужныУстановитьавтоматизацияинструмент。это облако Пример Будет фиксированная плата。QAРесурсы используются только в рабочее время.это облако Пример,Остальные 16 часов в день бесплатны. Мы можем значительно сократить использование AWS, используя эти виртуальные машины в качестве исполнителей конвейера CI в свободное время.,Нет необходимости запускать новый пример EC2.

На графике ниже показана экономия средств. Здесь мы несем фиксированную стоимость виртуальной машины в размере 55 долларов США в месяц, поэтому конвейер, использующий эти виртуальные машины, будет нести затраты на исполнителя в размере 0 долларов США, но если мы будем использовать новый экземпляр AWS в качестве исполнителя, мы можем понести ежемесячные затраты в размере 80 долларов США.

Рисунок – Расчет экономии затрат

  1. Ограничения брандмауэра и настройка средств автоматизации

Поскольку GitHub управляется внутри внутренней сети организации, мы можем избежать любых проблем с разрешениями API систем безопасности и инструментов автоматизации, которые являются проблемами, с которыми сталкиваются инструменты CI/CD, размещенные на внешнем хостинге.

  1. Реализация проверки качества кода

Внутри самого конвейера CI мы можем реализовать инструменты качества кода CodeQL и SonarQube, избегая необходимости отдельного тестирования. CodeQL — это трудоемкий инструмент. Выполнение конвейера занимает много времени, поэтому рекомендуется запускать CodeQL в отдельном конвейере, а результаты можно просмотреть на GitHub.

Что такое CodeQL

Рисунок. После запуска конвейера вы можете просмотреть все ошибки, выделенные CodeQL.

Наконец, конвейер DevOps для развертывания кода и запуска автоматических тестов для недавно выпущенной ветки выглядит следующим образом:

Рисунок. Конвейер DevOps, который развертывает код, выполняет проверки качества кода и, наконец, запускает автоматические тесты.

в заключение

Решение использовать GitHub Actions в качестве инструмента CICD для различных доменов оказалось плодотворным для моей организации. Мы исключаем затраты на дополнительные лицензии на инструменты автоматизации и используем доступные локальные виртуальные машины в качестве участников конвейера, сокращая затраты на облачные экземпляры. Кроме того, простая интеграция GHA с инструментами качества кода, такими как SonarQube и CodeQL, также помогает поддерживать стандарты кодирования.

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

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода