Это сообщение в блоге было первоначально опубликовано по адресу Это сообщение в блоге было первоначально опубликовано по адресу
Github Actions – это сервис CI/CD, предоставляемый Github, и он бесплатен для общедоступных репозиториев. Для частных репозиториев каждая учетная запись GitHub получает определенное количество бесплатных минут и хранилища, в зависимости от продукта, используемого с учетной записью.
В этом сообщении в блоге вы узнаете, как создать простой рабочий процесс для запуска тестов JUnit 5 в Java-проекте на основе Maven и как добавить значок статуса сборки в README.md файл.
содержание
- Проблема
- Решение
- Введение в Синтаксис рабочего процесса
- Шаг 1: Проверка хранилища
- Шаг 2: Настройка JDK 14
- Шаг 3: Кэшировать пакеты Maven
- Шаг 4: Запустите тесты с помощью Maven
- Значки
- Резюме
- Исходный код
- Рекомендации
При каждом событии push
запускайте тесты JUnit 5 в Java-проекте с Maven и кэшируйте загруженные зависимости, чтобы ускорить последующие запуски.
TL;DR
Полный рабочий процесс, состоящий из одного задания с четырьмя шагами, для автоматизации процесса запуска тестов JUnit в проекте Java с Maven.
name: tests on: push jobs: run_tests: runs-on: ubuntu-latest steps: - name: Checkout the repository uses: actions/checkout@v2 - name: Set up JDK 14 uses: actions/setup-java@v1 with: java-version: 14 - name: Cache Maven packages uses: actions/cache@v2 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Run tests with Maven run: mvn -B test --file pom.xml
Файлы рабочего процесса используют YAML синтаксис и должен иметь либо .yml
или .yaml
расширение. Все файлы рабочего процесса должны быть размещены в каталоге .github/workflows
в корне вашего проекта.
Вы можете создать свой полностью настроенный рабочий процесс или использовать действия, предоставляемые сообществом Github. Вы можете найти их в Github Marketplace ).
Рабочие процессы состоят из следующих разделов:
имя
(необязательно): имя рабочего процесса, которое будет отображаться на странице действий репозитория.вкл
(обязательно): событие, запускающее рабочий процесс (push
,запрос на извлечение
,построение страницы
и т.д.). Вы можете указать одно или несколько событий, а также определить ветку (ветви) или тег (ы) для запуска. Рабочий процесс также может быть запланирован с использованием синтаксиса cron.env
(необязательно): переменные среды. Они могут быть установлены для всего рабочего процесса, отдельного задания или шага. Рекомендуется использовать Github Secrets для передачи токенов или секретов в рабочий процесс. Секреты – это зашифрованные переменные среды, доступные только для выбранных действий.
Подробнее о хранении секретов читайте в документации Github Actions/| .
вакансии
(требуется по крайней мере одна): это фактический список задач, которые должны быть выполнены на бегуне. Каждое задание должно иметь уникальный идентификатор и может включать несколько свойств, например:запуски/| (обязательно): вы можете выбрать тип компьютера для выполнения задания (Windows, Linux или macOS) или свой собственный runner.
шаги: последовательность задач. Каждый шаг может быть либо простой командой оболочки, либо действием, состоящим из различных шагов. Действие может быть определено в вашем собственном репозитории, любом другом общедоступном репозитории или реестре Docker. Для некоторых действий требуются входные данные, которые можно передать с помощью ключевого слова
with.
Синтаксис рабочего процесса можно найти в документации Github Actions .
Шаг 1: Проверка хранилища
Первый шаг – проверить репозиторий. Для этого используйте действие оформить заказ
:
- name: Checkhout the repository uses: actions/checkout@v2
Шаг 2: Настройка JDK 14
Для настройки среды Java используйте setup-java
action. Вы можете выбрать одну из различных версий Java, включая основную, второстепенную и ранний доступ:
- name: Set up JDK 14 uses: actions/setup-java@v1 with: java-version: 14
Шаг 3: Кэшировать пакеты Maven
Для кэширования загруженных зависимостей и создания выходных данных используйте cache
действие, предоставляемое сообществом Github. Параметр Path определяет путь к файлу на бегуне для кэширования или восстановления. Ключевой параметр используется для поиска кэша. Если совпадения нет, будет создана новая запись кэша, которая будет сохранена с предоставленным ключом в каталоге path. Параметр Restore-keys является необязательным и содержит список альтернативных ключей.
- name: Cache Maven packages uses: actions/cache@v2 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2
Шаг 4: Запустите тесты с помощью Maven
Наконец, для запуска тестов используйте команду mvn
.
- name: Test with Maven run: mvn -B test --file pom.xml
Добавление значка в README.md файл – это хороший способ показать посетителям репозитория, что ваш проект построен правильно и все тесты пройдены.
Чтобы получить значок для рабочего процесса, просто замените заполнители в следующем URL-адресе соответствующей информацией. Обратите внимание, что это имя определено в первой строке файла .yml, и оно не обязательно должно быть именем файла:
https://github.com// /workflows/ /badge.svg
Чтобы добавить значок в проект, оберните ссылку на значок следующим образом и вставьте ее в верхнюю часть README.md файл:
![](https://github.com/kolorobot/spring-boot-junit5/workflows/tests/badge.svg)
Значок появится после фиксации и внесения изменений в репозиторий.
После успешного запуска рабочего процесса вы увидите журналы и результаты на странице действий в вашем репозитории Github. Действия Github используют коды выхода, чтобы определить, выполняется ли действие или завершается с ошибкой. Любой ненулевой код выхода рассматривается как сбой.
Исходный код этой статьи можно найти на Github
Оригинал: “https://dev.to/ewefie/getting-started-with-github-actions-run-junit-5-tests-in-a-java-project-with-maven-20g4”