CI / CD временами может быть беспорядком, особенно для новичков. Стресс от необходимости использовать продукты, с которыми вы не знакомы. Но благодаря встроенной функции CI / CD GitLab она избавляет от большинства хлопот.
Чего мы добьемся:
- Настроить сервер узла с пакетом express npm
- Настройка GitLab CI / CD
- Написать модульный тест
- Развернуть приложение на Heroku
Предварительные требования:
- Аккаунт GitLab
- Небольшое понимание Node.js
- Git и Node установлены в вашей системе
- Любимый редактор по выбору (… .visual studio code)
Репозиторий GitLab: - https://gitlab.com/Mjeck/node-heroku-gitlab
Таким образом, наше приложение просто принимает два ввода, складывает их и возвращает ответ. Не так уж много можно сказать.
Зависимости:
- express: - для работы с нашим веб-сервером
- body-parser: - промежуточное ПО для синтаксического анализа тела Node.js.
- mocha: - тестовая среда для запуска нашего модульного теста
- chai: - библиотека утверждений javascript
- supertest: - помогите нам протестировать конечные точки API
Создайте наш проект на GitLab:
Если вы еще этого не сделали, перейдите на https://gitlab.com/, чтобы создать учетную запись GitLab, или войдите в свою учетную запись, чтобы создать новый проект.
Из приведенного выше изображения мы сделали проект общедоступным и установили флажок инициализировать Readme, нажмите кнопкуCreate project
, чтобы создать наш новый проект в GitLab.
Клонировать проект:
После того, как наш проект был создан, щелкните синий раскрывающийся список в правом верхнем углу с текстом Clone
и выберите Clone with HTTPS
или Clone with SSH
щелкните значок копирования и вставьте в выбранный вами терминал как таковой.
Когда клонирование будет завершено, перейдите в папку проекта из вашего терминала и инициализируйте приложение npm с помощью следующей команды
npm init -y
Это должно создать файл package.json, который содержит детали нашего проекта, включая пакеты, которые мы будем использовать.
Затем мы создаем наш файл .gitignore, копируем следующий код в новый файл:
Приведенный выше фрагмент помогает предотвратить отправку большинства автоматически сгенерированных файлов и папок в наши удаленные репозитории git. Одна из таких папок - это папка node_modules
.
Установите наши зависимости:
Далее устанавливаем необходимые зависимости. Введите в свой терминал следующее
npm i -S express body-parser mocha chai supertest
Настройте наш сервер:
Затем мы создаем новый index.js
файл для размещения нашего серверного кода и функции добавления. Скопируйте в файл следующее.
Затем мы редактируем наш файл package.json, добавляя стартовый скрипт в наш объект скриптов.
Разрешите запустить приложение. Введите в свой терминал следующее
npm start
Вы должны напечатать App started on port 8080
на вашей консоли.
Написание модульного теста
Создайте файл tests.js в текущем каталоге и вставьте следующий код.
Затем мы добавляем тестовый скрипт в наш package.json. Наш скрипт должен выглядеть так:
“scripts”: { “start”: “node index.js”, “test”: “mocha --exit” }
Запустите тест, выполнив npm run test в консоли.
Во части второй мы рассмотрим создание нашего приложения на Heroku и настройку развертывания с помощью файла .gitlab-ci.yml
.