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 щелкните значок копирования и вставьте в выбранный вами терминал как таковой.

git clone https://gitlab.com/Mjeck/node-heroku-gitlab.git

Когда клонирование будет завершено, перейдите в папку проекта из вашего терминала и инициализируйте приложение 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.