marverix.nodejs
Ansible Роль: Node.js
Роль Ansible, которая устанавливает на Linux Node.js, npm и при необходимости выполняет базовую настройку npm.
Особенности
- ✔️ Установка Node.js
- Можно определить, какая версия должна быть установлена
- Проверка, что установлена самая новая версия
npm
- ✔️ Настройка
npm- Установка глобального реестра для пользователя
- Установка префикса для пользователя
- Установка значения по умолчанию для области видимости пользователя
- Настройка областей видимости для пользователя
- ✔️ Установка глобальных пакетов
npm, которые вы хотите - ✔️ Проверка доступности псевдонима
nodejs - ✔️ Протестировано с помощью Molecule Verify
Поддерживаемые платформы
- ✔️ Ubuntu 16.04 (Xenial)
- ✔️ Ubuntu 18.04 (Bionic)
- ✔️ Ubuntu 20.04 (Focal)
- ✔️ CentOS 7
- ✔️ CentOS 8
Требования
Отсутствуют
Переменные роли
| Переменная | Описание | Значение по умолчанию |
|---|---|---|
nodejs_version |
Версия Node.js для установки | 14 |
nodejs_npm_install_globally |
Список пакетов npm, которые должны быть установлены глобально |
[] |
nodejs_npm_config |
Список конфигураций npm - см. раздел Как настроить npm |
[] |
Как настроить npm
nodejs_npm_config должен быть массивом объектов. Вот как должен выглядеть каждый объект:
| Свойство | Описание | Обязательное |
|---|---|---|
user |
Пользователь (одна настройка npm для пользователя) | Да |
prefix |
Префикс npm | Нет |
registry |
URL реестра npm | Нет |
scopes |
Список областей видимости. Каждая область должна иметь name (без @) и registry. Смотрите примеры ниже. |
Нет |
default_scope |
Область по умолчанию | Нет |
Зависимости
Отсутствуют
Пример плейбука
Самый простой вариант
--- - hosts: all roles: - marverix.nodejsУстановка глобально
mochaиeslint--- - hosts: all roles: - role: marverix.nodejs vars: nodejs_npm_install_globally: - mocha - eslintУстановка реестра
npmдля пользователяroot, установка префикса, настройка областей видимости и установка области по умолчанию:--- - hosts: all roles: - role: marverix.nodejs vars: nodejs_npm_config: - user: root prefix: /home/root/.node registry: https://nexus.example.org/repository/npm/ scopes: - name: example-int registry: https://nexus.example.org/repository/npm-int/ - name: example2-int registry: https://nexus.example2.org/repository/npm-int/ default_scope: example-intКстати: Вот хороший пост в блоге о том, как настроить Nexus в качестве вашего реестра
npm: https://blog.sonatype.com/using-nexus-3-as-your-repository-part-2-npm-packages
Лицензия
ISC
О проекте
Ansible role that installs Node.js and configures npm
Установить
ansible-galaxy install marverix.nodejsЛицензия
isc
Загрузки
198
Владелец
Everyday normal Software Engineer
