Рубрики
Uncategorized

Продвинутая установка для Трэвиса С.И.

Усовершенствованная настройка Travis CI, которая может охватить многие общие случаи. Tagged с GIT, CI, DevOps, тестирование.

В этом сообщении я проведу вас через основы файла YAML, а затем мы напишем образец файла .travis.yml, который я стараюсь сделать как можно более общим, чтобы вы могли использовать Travis CI более эффективно. Кроме того, этот пост в блоге предназначен для тех людей, которые знакомы с концепцией CI/CD и тестирования.

Что такое ямл?

Ямл — это рекурсивная аббревиатура Для «Yaml не языка разметки». Как и JSON, это язык сериализации данных (то есть его можно использовать для хранения или передачи данных в сети)

Некоторые различия между YAML и JSON

Ямл Синтаксис

Я рассмотрю какой -то базовый синтаксис, который запустит вас, но если вы хотите узнать больше, обратитесь к этому ссылка на сайт

Основной синтаксис YAML

Пары значений ключей разделены с использованием «:»

key: value

Вы можете комментировать, используя «#»

# this is a comment in YAML
key: value

Это знание достаточно для нашего примера. Теперь давайте начнем с нашего файла .travis.yml

Файл конфигурации Travis

Пожалуйста, храните в этом записку, так как файлы YAML имеют строгие правила для отступления.

Инструмент программирования

Мы начинаем настраивать наш файл .travis.yml с использованием языка, который мы будем использовать. Например, я буду создавать этот файл Travis для моего приложения Mern Stack Поэтому я выберу свой язык в качестве Nodejs для тестирования моего бэкэнд -кода.

language: node_js
node_js:
  - "11"

Теперь здесь мы говорим Travis CI, что мы хотим, чтобы наша среда была Nodejs, мы также указываем конкретную версию. Я использовал v11, вы можете использовать любую версию, которую вы хотите, вы можете протестировать для нескольких версий, упомянув их ниже, как

language: node_js
node_js:
  - "11"
  - "12"

Вы также можете проверить это для текущей стабильной версии Nodejs, таких как

language: node_js
node_js:
  - "stable"

Среда сборки

Мы можем указать среду Distro/OS/Build, в которой мы хотели бы, чтобы Трэвис выполнил наши тесты. Я бы порекомендовал использовать Trusty, так как этот дистрибут легкий и более надежный. Хотя это дистрибуция по умолчанию, установленную Travis CI, я покажу вам конфигурацию, чтобы вы могли использовать любые дистрибуции, которые вы хотите, и предлагается Travis.

dist: trusty

Другие дистрибуции, предлагаемые Трэвисом

  • Ubuntu Xenial 16.04
  • Ubuntu Precise 12.04

Услуги

Много раз у нас есть различные услуги, взаимодействующие с нашим проектом. Нам нужно включить их, чтобы полностью проверить наши проекты. Один из вариантов, который вы можете выбрать, — это интегрировать онлайн -настройку Услуг, но это увеличит время, проведенное тестами, плюс, если услуга будет оплачена, вам придется оплатить дополнительные затраты за каждый запрос на ваш сервис. Таким образом, Travis CI предоставляет решение для этого, предоставив вам возможность установить необходимую услугу с помощью сборки и настройки его в соответствии с вашими потребностями. Есть много сервисов, которые мы можем настроить, но этот пост не об этом Поэтому я покажу вам, как настроить MongoDB для CI.

services: mongodb

Вы должны использовать ключ Услуги Для любой услуги вы хотите сказать Трэвису установить зависимости. Теперь, чтобы настроить его, вы можете сделать это так же, как и локально, например,

var url = "mongodb://localhost:27017/mydb";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  console.log("Database created!");
  db.close();
});

Вот и все, вы должны подключиться к порту № 27017 на Localhost. Просто следуйте той же инструкции по подключению по умолчанию для службы, которую вы хотели бы подключиться. Вы можете Посмотрите здесь Для других услуг.

Переменные среды

Вы можете настроить переменные среды, в которых вы хотели бы проверить свой проект, используя env Ключ, например —

env:
  - NODE_ENV=ci PORT=3000

кеш

Вы можете кэшировать каталоги в своей сборке, чтобы вам не пришлось загружать его на каждой сборке, так как это стоило бы вам времени, чтобы вы могли указать каталоги, которые вы хотите кэшировать

cache:
  directories:
    - node_modules

Здесь я хотел бы кэшировать свой каталог node_modules для каждой сборки, чтобы мне не приходилось загружать его по каждой сборке, и когда я добавляю или удаляю node_module travis, просто сравнивал бы пакет.

Сценарии

Существуют различные зависимости, которые вы хотели бы установить до или после конфигурации Travis CI. Или вам может потребоваться запустить различные сценарии, прежде чем сборка начнет выполнять ваши тесты. Вы можете установить или запустить их, используя ключевое слово перед_инсталлом запустить команды перед выполнением и установить Чтобы установить зависимости после завершения Travis для настройки сборки Например —

before_install:
  - sudo apt-get install -y libxml2-dev
install:
  - npm install

Итак, здесь, прежде чем установить зависимости, я хотел бы добавить библиотеку DEV, и после этого я хотел бы запустить скрипт для установки зависимостей для моего проекта.

Кроме того, вы можете запускать различные сценарии во время выполнения тестов с Скрипт Ключевое слово EG —

script:
  - npm run start 
  - npm run dev

Таким образом, это некоторая расширенная настройка, с которой вы можете настроить Travis, чтобы сделать вашу жизнь легкой и эффективно использовать CI.

Я хотел бы услышать более продвинутую настройку от вас, ребята, или ваш отзыв для этого блога, я был бы признателен. Спасибо за чтение, и я хотел бы услышать, смог ли я передать в вас новые знания через этот пост в блоге.

Вы можете связаться со мной здесь, в Twitter или LinkedIn.

Я живу по имени @ram2510 в Интернете

Оригинал: «https://dev.to/rampa2510/an-advanced-setup-for-travis-ci-3i1d»