Этот учебник предназначен для базового использования gitlab и конвейеров, он поможет вам создать небольшой рабочий процесс для тестирования и сборки вашего приложения (в этом случае мы будем использовать реакцию и nodejs). Основная цель этого руководства — воспользоваться функциями, которые gitlab предоставляет разработчикам.
Итак, давайте начнем с этого небольшого примера, для этого вам понадобятся nodejs и npm, установленные на вашем компьютере.
Сначала давайте создадим наше приложение, используя create-react-app:
create-react-app будет отвечать за установку всех зависимостей в целях тестирования.
После создания приложения давайте напишем небольшой тест для приложения:
import React from "react"; import renderer from "react-test-renderer"; import App from "./App"; describe("App match snapshot", () => { test("snapshot renders", () => { const component = renderer.create(<App />); let tree = component.toJSON(); expect(tree).toMatchSnapshot(); }); });
Как только мы создадим наш небольшой тест, нам нужно создать файл yml для записи нашего потока, давайте создадим этот файл и определим наши этапы конвейера:
Сначала нам нужно перейти в корневую папку и создать файл, вы можете назвать файл будет имя: .gitlab-ci.yml
В файле .gitlab-ci.yml
вы настраиваете, что CI делает с вашим проектом. Он живет в корне вашего репозитория.
image: node:latest stages: - build - test cache: paths: - node_modules/ install_dependencies: stage: build script: - npm install artifacts: paths: - node_modules/ testing_testing: stage: test script: npm test artifacts: paths: - ./
Теперь, что делают эти строки?
Итак, в части этапы мы определяем, что будет делать наш конвейер. Там будет 2 шага: сначала создайте наше приложение, а затем затем запустите наш тест
install_dependencies: это наш первый этап, здесь мы собираемся запустить npm install, чтобы создать и добавить все зависимости, которые потребности приложения.
testing_testing: это наш второй и последний этап, здесь мы собираемся запустить все тесты, которые находятся в корневой папке.
кэш: будет хранить зависимости нашего проекта.
артефактыиспользуются для результатов этапов, которые будут передаваться между этапами.
Затем при любой отправке в ваш репозиторий GitLab будет искать файл .gitlab-ci.yml
и запускать задания на Runners в соответствии с содержимым файла для этого коммита.
Поскольку .gitlab-ci.yml
находится в репозитории и контролируется версиями, старые версии по-прежнему успешно создаются, форки могут легко использовать CI, ветки могут иметь разные конвейеры и задания, и у вас есть единый источник достоверной информации для CI.
Вот и все, здесь мы создаем небольшой поток CI/CD для нашего репозитория и приложения.
Дополнительная информация: https://docs.gitlab.com/ee/ci/README.html
Следите за нами в Twitter🐦и Facebook👥и присоединяйтесь к нашей Группе Facebook💬.
Чтобы присоединиться к нашему сообществу Slack🗣️ и читать наши еженедельные темы о фавнах🗞️, нажмите здесь⬇