CI/CD позволяет разработчикам, инженерам и DevOps команды создавать быстрый и эффективный процесс упаковки продукта на рынок, что позволяет им оставаться впереди конкуренции. Когда Тестирование автоматизации селена Связается с силой с эффективным инструментом CI/CD, он творит чудеса для доставки продукта. GOCD является одним из таких инструментов непрерывной интеграции с открытым исходным кодом (CI) и непрерывной доставки (CD), разработанного ThindWorks, который поддерживает жизненный цикл разработки программного обеспечения, обеспечивая автоматизацию для всего процесса. Прямо от развития -. Тест -> Развертывание, GOCD гарантирует, что ваши циклы доставки будут вовремя, надежны и эффективны.
В порядке. Я знаю, что вы думаете!
У нас есть Дженкинс для CI & CD! Почему новый инструмент?
В этом учебном пособии GOCD мы рассмотрим всю информацию, которая вам понадобится для создания трубопровода GOCD и в сочетании с основными понятиями. Вы также узнаете, как провести тестирование автоматизации, используя Selenium в Gocd Pipeline через Онлайн селен сетка Анкет
Почему GOCD?
Дженкинс просто потрясающий! Мы можем сделать только все и все, что связано с CI & CD с Jenkins, выбирая правильные плагины. Означает ли это, что другие инструменты CI/CD, включая GOCD, менее обширны по сравнению с Дженкинсом? Точно нет! Прочитайте наш блог на Дженкинс против GOCD Чтобы получить подробную информацию о основных предложениях GOCD по сравнению с Дженкинсом.
Согласно результатам Состояние CI/CD 2020 , GOCD медленно и неуклонно набирает обороты по сравнению с другими инструментами CI/CD.
Играть с плагинами в Дженкинсе требует достаточного количества опыта и опыта, что не относится к GOCD. Он направлен на то, чтобы обеспечить основную ценность с меньшим количеством плагинов интеграции в отличие от Дженкинса, для которых требуется несколько плагинов для обеспечения правильной подгонки среды.
@
По словам команды мыслить
«GOCD стремится поддержать наиболее распространенные сценарии CD из коробки без каких -либо плагин» »
Существуют определенные преимущества GOCD, которые делают его выдающейся альтернативой Jenkins для непрерывной доставки и непрерывного развертывания, некоторые из них упоминаются ниже: на таких, как:
- Гибкость и легко настроить для трубопровода развертывания.
- Высоко настраивается для разнообразных требований.
- Поддержка среды Linux и Windows.
- Гибкость для настройки переменных среды для каждого шага.
- Обширный для использования для непрерывного развертывания и управления тестированием.
Настройка GOCD
Первый шаг в учебном пособии GOCD — это настроить два важных компонента
- Сервер GOCD
- Агент (ы) GOCD
Сервер GOCD — это тот, который обеспечивает работу для агентов и агентов GOCD — это те, которые выполняют назначенную работу, такие как запуск SH Scripts, сборка, развертывание и т. Д.
Что такое сервер GOCD
Перво -наперво, вы можете скачать GOCD Server & Agents из https://www.gocd.org/download/#windows Анкет GOCD придумывает свою собственную версию Java JRE. Следовательно, установка Java не является предпосылкой, если мы не хотим использовать пользовательскую версию JRE. После того, как мы расстегнули от разказы GOCD, мы можем сначала запустить сервер, выполнив команду.
> cd> ./bin/go-server start
После этого можно получить доступ к серверу GOCD по адресу http://localhost: 8153/go/
Настройка трубопровода GOCD
Для этого учебного пособия GOCD мы собираемся использовать приложение Spring Boot https://github.com/iamvickyav/spring-boot-h2-war-tomcat
Давайте начнем с создания нашего первого конвейера GOCD.
- В верхнем меню нажмите на Администратор -> Трубопроводы
- Нажмите на Добавить новый трубопровод кнопка
- Выберите Тип материала как Git Анкет Заполните URL -адрес репозитория git Repo URL. В этом примере https://github.com/iamvickyav/spring-boot-h2-war-tomcat.git
Нажмите на Тестовое соединение чтобы обеспечить достопримечательность репо
- Далее пришло время назвать наш трубопровод и этапы. Давайте назовите наш трубопровод как Build_demo_pipeline & Stage As buld_demo_pipeline_stage
Теоретически говоря, а CI/CD Pipeline Обычно состоит из нескольких этапов, которые работают последовательно. Каждый этап содержит список задач, которые должны быть выполнены. Каждый этап должен пройти для выполнения последующих этапов.
- До сих пор это просто церемония именования с GOCD. Но следующий шаг — это настройка реального действия — Раздел работы и задач
Настройка задач в трубопроводе GOCD
В этом разделе учебника GOCD Pipeline мы рассмотрим настройку задач. Этот шаг является одним из самых важных шагов, которые следует выполнять разумно. Вот список задач, которые мы должны выполнять как часть строительства трубопровода GOCD:
- Создайте демонстрационное приложение с помощью команды Maven и создать файл войны
- Запустить Tomcat, используя скрипт
- Развернуть файл войны в Tomcat
- Строительство применения с использованием Maven
Давайте назваем нашу первую работу как Project_build_task
Под типом ваших задач ниже в разделе «Подсказка», перечислите нашу первую команду как пакет MVN Clean, который создаст файл JAR
MVN Clean Package после выполнения создаст файл войны. Далее нам нужно развернуть файл войны в Tomcat
Как мы еще не закончили с конфигурацией, нажмите «Сохранить + редактировать полную конфигурацию» (не сохранение + запустить конвейер) кнопка
- Добавление дополнительной задачи в трубопровод GOCD
После нажатия на кнопку «Сохранить + редактировать полную конфигурацию», полная страница конфигурации должна была открыться к настоящему времени. Нажмите на этапы в меню
Нажмите на добавление Новая сцена кнопка
Во всплывающем окне введите имя сцены как Tomcat_setup_stage Анкет Прокрутите вниз во всплывающем окне и введите имя задания как Tomcat_startup_task
Выберите тип задачи как Пользовательская команда
- Выполнение файла скрипта с работы GOCD
Мы сохранили файл скрипта с именем start_tomcat.sh в рамках каталога Project Root. Вы можете обратиться к файлу Здесь Анкет
Этот файл содержит команды для запуска сервера Tomcat. Нам нужно передать каталог установки Tomcat в качестве ввода для этого SH -файла.
Пришло время для некоторого действия в этой части учебника GOCD Pipeline 🙂 Давайте выполним этот файл скрипта из трубопровода GOCD. Во всплывающем окне «Добавить новый этап» прокрутите вниз к разделу базовых настроек и настройка, как ниже ниже.
Команда — /bin/bash
Аргументы — start_tomcat.sh/pt/tomcat-8.5.41/
Нажмите на Сохранить кнопка
- Развертывание войны в Tomcat с помощью Maven
Как мы делали в предыдущем разделе учебника GOCD Pipeline, давайте добавим еще один новый этап, нажмите на Добавить новую кнопку сцены под Этапы из меню. Во всплывающем окне введите имя сцены как Demo_deployment_stage Анкет Прокрутите вниз во всплывающем окне и введите имя задания как Deployment_task
Выберите тип задачи как Пользовательская команда
- Выполнение файла скрипта с работы GOCD
Мы сохранили файл скрипта с именем start_tomcat.sh в рамках каталога Project Root. Вы можете обратиться к файлу здесь.
Этот файл содержит команды для запуска сервера Tomcat. Нам нужно передать каталог установки Tomcat в качестве ввода для этого SH -файла.
Пришло время для некоторого действия в этой части учебника GOCD Pipeline 🙂 Давайте выполним этот файл скрипта из трубопровода GOCD. Во всплывающем окне «Добавить новый этап» прокрутите вниз к разделу базовых настроек и настройка, как ниже ниже.
Команда -/bin/bash
Аргументы -start_tomcat.sh/pt/tomcat-8.5.41/
Нажмите на Сохранить кнопка
- Выполнение файла скрипта с работы GOCD
Мы сохранили файл скрипта с именем start_tomcat.sh в рамках каталога Project Root. Вы можете обратиться к файлу здесь.
Этот файл содержит команды для запуска сервера Tomcat. Нам нужно передать каталог установки Tomcat в качестве ввода для этого SH -файла.
Пришло время для некоторого действия в этой части учебника GOCD Pipeline 🙂 Давайте выполним этот файл скрипта из трубопровода GOCD. Во всплывающем окне «Добавить новый этап» прокрутите вниз к разделу базовых настроек и настройка, как ниже ниже.
Команда -/bin/bash
Аргументы -start_tomcat.sh/pt/tomcat-8.5.41/
Нажмите на Сохранить кнопка
- Развертывание войны в Tomcat с помощью Maven
Как мы делали в предыдущем разделе учебника GOCD Pipeline, давайте добавим еще один новый этап, нажмите на кнопку «Добавить новую сцену» под этапами из меню. Во всплывающем окне введите имя сцены как demo_deploy
Выберите тип задачи в качестве пользовательской команды
Под Основные настройки раздел и настройка, как ниже
Команда — MVN
Аргументы — Tomcat7: развернуть
Нажмите на Сохранить кнопка
Теперь у нас есть конвейер с тремя этапами, готовыми к исполнению
- Включение трубопровода для выполнения
По умолчанию трубопровод будет в состоянии приостановки, пока мы не отказались от него явно. После того, как конфигурация трубопровода будет сделана, нажмите кнопку «Непоуз» рядом с трубопроводом
Ура !! Поздравляю! Мы успешно настроили наш трубопровод. Перед выполнением вам необходимо настроить агент GOCD — одну из самых важных частей системы GOCD. Как упоминалось ранее, агент GOCD — это то место, где действительно происходит выполнение. Итак, давайте настроим наш агент GOCD
Настройка агента GOCD
Разируйте агент GOCD, которого мы уже скачали с https://www.gocd.org/download/
компакт диск
./bin/go-Agent Start
Как только агент запускается, посетите http://localhost: 8153/go/агенты Чтобы проверить, зарегистрируется ли агент на сервер GOCD
Мы можем прикрепить несколько агентов к нашему серверу GOCD за раз. Но для нашей задачи одного агента GOCD достаточно нашей задачи
Выполнение конвейера GOCD
Теперь вернемся к нашей панели GOCD на http://localhost: 8153/go/pipelines и выполнить трубопровод
Мы можем увидеть журналы и состояние каждого этапа под конвейером в самой панели панели. Три зеленых ящика показывают, что выполнение всех трех этапов было успешным
Проверка журналов трубопровода
Чтобы проверить журналы трубопровода, нажмите на ссылку «История» рядом с кнопкой запуска трубопровода
Нажмите на любой этап, а затем нажмите «Перейти на страницу сведений», чтобы увидеть журналы, чтобы увидеть журналы
Установите основы CI/CD с помощью этого видео, которое глубоко погружается в придурок CI/CD:
Трубопровод как код в GOCD
Pipeline GOCD в качестве кода является дополнительной функцией. Вместо создания конвейера с помощью пользовательского интерфейса мы можем создать отдельный файл конфигурации трубопровода с пошаговыми инструкциями о конвейере. Этот файл может быть записан в форматах YAML или JSON.
Обычно файл конфигурации трубопровода хранится в корневом каталоге вместе с исходным кодом
Создание конвейера GOCD с использованием конвейера в качестве кода подход
Для лучшего понимания я собираюсь воссоздать предыдущий конвейер, который мы использовали в этой статье, используя трубопровод в качестве метода кода
В этом трубопроводе у нас было три этапа
- Создайте демонстрационное приложение с помощью команды Maven и создать файл войны
- Запустить Tomcat, используя скрипт
- Развернуть файл войны в Tomcat
Вот образец конфигурации YAML для достижения того же
format_version: 2 pipelines: pipeline_code_demo: group: defaultGroup materials: backend: git: https://github.com/iamvickyav/spring-boot-h2-war-tomcat.git branch: master stages: - Build_Demo_Project_Stage: clean_workspace: true jobs: build_task: tasks: - exec: run_if: passed command: mvn arguments: - package - Start_Tomcat_Stage: clean_workspace: true jobs: start_tomcat_task: tasks: - exec: run_if: passed command: /bin/sh arguments: - start_tomcat.sh - /opt/tomcat-8.5.41 - Deploy_Project_Stage: clean_workspace: true jobs: deploy_project_task: tasks: - exec: run_if: passed command: mvn arguments: - tomcat7:deploy
Мы создали файл YAML с именем pipeline.gocd.yaml в рамках каталога Project Root с вышеуказанным содержанием конфигурации
Переправьте это здесь — https://github.com/iamvickyav/spring-boot-h2-war-tomcat/blob/master/pipeline.gocd.yaml
Давайте создадим трубопровод, используя этот YAML. Перейти к приборной панели GOCD в
http://localhost:8153/Go/Tipelines
Нажмите на Новый трубопровод -> Используйте трубопроводы в качестве кода
На странице конфигурации следуйте приведенной ниже конфигурации
Выберите язык конфигурации — YAML
Тип материала — git
URL -репозиторий — https://github.com/iamvickyav/spring-boot-h2-war-tomcat.git
Нажмите на тестовое соединение, чтобы обеспечить подключение
Прокрутите вниз, чтобы подключить ваш SCM Repo к этому разделу GOCD Server и дайте имя для подключения, скажем GIT-соединение
Прокрутите вниз до добавления Ваш файл конфигурации в ваш раздел Repo SCM и нажмите «Репозитории сканирования» для кнопки конфигурации.
Это будет сканировать для *.gocd.yaml -файла в Git Repo, который мы настроили на предыдущем шаге (поэтому мы назвали наш файл конфигурации в качестве Pipeleline.gocd.yaml)
Как только сканирование будет завершено, GOCD перечислит наше имя файла, как найдено. Нажмите кнопку Сохранить
После сохранения GOCD попытается проанализировать файл YAML и проверить синтаксис конфигурации. Если в синтаксисе есть какие -либо ошибки, GOCD покажет то же самое здесь
Если синтаксис действителен, GOCD покажет кнопку «Зеленая тик»
Теперь вернитесь к приборной панели GOCD на http://localhost: 8153/go/pipelines где мы можем увидеть наш новый конвейер, созданный. Нажмите кнопку «Воспроизведение», чтобы запустить трубопровод
Автоматизация испытаний с трубопроводом GOCD и LambDatest
Как упоминалось ранее, этот учебник по трубопроводу GOCD не только охватывает всю установку трубопровода, но и объясняет повестку дня всей установки. Давайте попробуем настроить и запустить АВТОМАЦИАЦИЯ ТЕСТА SELENIUM Проект с трубопроводом GOCD, это поможет вам понять, как автоматизация ускоряет доставку проекта. Для запуска теста на автоматизацию селена мы будем использовать облачную сетку Selenium на LambDatest.
Используя LambDatest Selenium Grid, вы можете максимизировать охват браузера, поскольку она предлагает широкий спектр 2000+ браузеров и поддерживает несколько платформ на множестве устройств. С Lambdatest Selenium Automation Suite вы можете выполнить Cross Browser Testing Гораздо быстрее и проще, чем в местной сетке.
Используя GOCD с лямбдейкой> Вы можете достичь более быстрых петлей обратной связи через его моделирующие конструкции, что делает ваш сложный конвейер CI/CD намного проще. Вы также получаете такие функции, как управление зависимостями и параллельное выполнение, которые помогут вам быстрее предоставить лучшие продукты.
Предварительные условия:
- LambDatest> Учетная запись автоматизации, имя пользователя и токен доступа
- Обязательно установите GOCD в вашей системе, используя шаги, упомянутые в более ранних разделах этого учебника GOCD.
Для демонстрации GOCD с LambDatest мы собираемся использовать Образец огурца Проект из репозитория GitHub LambDatest. Он содержит тестовые примеры автоматизации для тестирования Rambdatest todo app Анкет
Начнем с создания трубопровода
Создание трубопровода автоматизации тестов
Первым шагом в этом учебном пособии GOCD для запуска тестов на автоматизацию селена является создание трубопровода. Все, что вам нужно сделать, это следовать инструкциям ниже!
- В верхнем меню нажмите «Адми
- Нажмите кнопку «Добавить новую трубопровод»
- Выберите тип материала как git. Заполните URL -адрес репозитория git Repo URL. В этом примере мы использовали
https://github.com/LambdaTest/Cucumber-TestNG-Selenium.git
Нажмите на тестовое соединение, чтобы убедиться
Далее нам нужно назвать наш трубопровод и сцену. В концепции, трубопровод — это набор этапов, и каждый этап содержит список задач, которые будут выполнены
Давайте назовите наш конвейер как TODO_APP_TEST & Stage как TODO_TESTING_STAGE
Далее следует настройка раздела заданий и задач. Чтобы запустить наш код тестирования, нам нужно использовать команду MVN Clean Test
Давайте укажем команду Maven в соответствии с заданиями и задачами
Настройка переменной среды
Поскольку код предназначен для запуска в LambDatest, нам нужно установить токен имени пользователя и доступа лямбчата в качестве переменных среды
Чтобы установить переменные среды, нажмите на расширенные настройки -> Простой текстовые переменные -> Добавить кнопку
Добавьте переменные LT_USERNAME и LT_ACCESS_KEY и соответствующие значения с LambDatest Веб -сайт — https://accounts.lambdatest.com/detail/profile
Вот и все. Теперь нажмите «Сохранить + запустить эту кнопку трубопровода», чтобы выполнить наш трубопровод
Вы можете увидеть работу сборки сейчас
Проверка журналов сборки
Как только сборка успешно пройдет, мы можем проверить журнал, нажав на страницу Green Tick и нажмите «Перейти на сведения» на сцене
Нажмите на ссылку на задание в разделе «Прошлое» в меню «Левая сторона»
Нажмите на развернуть все вариант в меню консоли, чтобы увидеть весь журнал
Ура! Мы успешно выполнили нашу первую работу по трубопроводу и проверили журналы, доступные на консоли.
Проверка теста на автоматизацию в LambDatest
Вы можете найти журналы (например, журналы команд, сетевые журналы и т. Д.) Для теста автоматизации селена на платформе LambDatest. Видео, доступное с помощью тестового прогона, помогает проверить In -ins и Out выполнения теста (или тестовый запуск).
Круто, не так ли?
Вывод
Хорошо организованный трубопровод значительно облегчает работу для команды и обеспечивает надежное развертывание и доставку. В этом учебном пособии GOCD у нас был подробный взгляд на то, как настроить конвейер GOCD, настройку нескольких этапов, настройку агентов GOCD, с использованием переменных среды и использования автоматизации тестов селена с помощью трубопровода GOCD. Надеюсь, вы нашли это полезным. Пожалуйста, дайте нам знать ваши мысли и запросы в разделе комментариев.
Счастливого тестирования!
Оригинал: «https://dev.to/himanshusheth004/building-an-automated-testing-pipeline-with-gocd-44dg»