deluxebrain.ansible_role_nodejs
Rollenname: NODEJS
NodeJS-Installer für Linux. Beinhaltet standardmäßig die Plugins node-build und nodenv-vars zur Installation von Node.js-Versionen und Projektumgebungsvariablen.
Anforderungen
Keine.
Rollenvariablen
Alle aufgeführten Variablen sind in defaults/main.yml
definiert.
Individuelle Variablen können in einem Playbook für diese Rolle festgelegt oder überschrieben werden.
nodenv_version
: (standard: latest)- zu installierende nodenv-Version
nodebuild_version
: (standard: latest)- zu installierende node-build-Version
nodenvvars_version
: (standard: latest)- zu installierende nodenv-vars-Version
init_shell
: (standard: yes)- Konfiguriert die Shell, um nodenv zu laden
global_nodejs_version
: (standard: "")- Standardversion von Node.js
nodejs_versions
: (standard: [])- Liste der zu installierenden Node.js-Versionen
plugins
: (standard: [])- Liste der zu installierenden Plugins, angegeben als Liste von:
name
: Pluginnamerepo
: Plugin-GitHub-Repositoryversion
: Pluginversion, "latest" für HEAD angeben
- Liste der zu installierenden Plugins, angegeben als Liste von:
Abhängigkeiten
Keine.
Beispiel-Playbook
Beispiel unten für Folgendes:
- Installation spezifischer Versionen von
nodenv
- Installation einer spezifischen Version von Node.js
- Installation des
nodenv-default-packages
nodenv-Plugins
- hosts: servers
roles:
- deluxebrain.python
nodenv_version: 1.3.1
global_nodenv_version: 12.3.1
nodenv_versions:
- 12.3.1
plugins:
- name: nodenv-default-packages
repo: https://github.com/nodenv/nodenv-default-packages.git
version: latest
Entwicklungsinstallation
Pakete sind in Entwicklungs- und Produktionsabhängigkeiten unterteilt, die über die enthaltenen Dateien requirements-dev.txt
und requirements.txt
verwaltet werden.
Produktionspakete werden durch das pip-tools
-Suite verwaltet, die die Projektabhängigkeiten über die enthaltene Datei requirements.in
installiert und synchronisiert.
# Erstelle Projekt-virtuelle Umgebung
# Installiere Entwicklungsabhängigkeiten in die virtuelle Umgebung
make install
pip-tools
ist verantwortlich für die Erstellung der requirements.txt
, die eine vollständig festgelegte Anforderungen Datei ist, die sowohl zum Synchronisieren der Python-virtuellen Umgebung als auch zur Installation von Paketen in einer Produktionsumgebung verwendet wird.
Beachte, dass die requirements.txt
-Datei nicht manuell bearbeitet werden sollte und jedes Mal neu generiert werden muss, wenn die requirements.in
-Datei geändert wird. Dies erfolgt wie folgt, was auch alle Paketänderungen in die virtuelle Umgebung synchronisiert:
# Kompiliere die requirements.in-Datei in requirements.txt
# Installiere die requirements.txt-Pakete in die virtuelle Umgebung
make sync
pip-tools
und andere Entwicklungsanforderungen werden über die Datei requirements-dev.txt
installiert, wie folgt:
Rollenverwendung
NodeJS-Versionen werden über nodenv
verwaltet.
nodenv
ermöglicht es dir, mehrere Node-Versionen auf deinem Rechner zu verwenden.
# Installiere spezifische Node-Version
nodenv install 12.3.1
# Erstelle Projektverzeichnis
mkdir ~/my-project && cd $_
# Konfiguriere das Projekt, um eine spezifische Node-Version zu verwenden
nodenv local 12.3.1 # erstellt .node-version
Paketverwaltung mit npm
Die Verwendung von npm zur Erstellung eines neuen Projekts wird im folgenden Beispiel demonstriert:
npx license mit > LICENSE # Lizenzdatei generieren
npx gitignore node # .gitignore festlegen
npx covgen <EMAIL_ADDRESS> # E-Mail-Adresse für den Verhaltenskodex festlegen
npm init -y # Projekt initialisieren
npm install <package>
Beachte, dass npx
bevorzugt verwendet werden sollte, statt Pakete global zu installieren.
Weitere Werkzeuge
nodenv-vars
nodenv-vars
ist ein Plugin für nodenv
, das projektbezogene Anwendungsumgebungsvariablen erlaubt.
Seine Verwendung wird im folgenden Beispiel demonstriert:
echo FOO=BAR >> .nodenv-vars
$ nodenv vars
export FOO='BAR'
Lizenz
MIT / BSD
Autorinformationen
Diese Rolle wurde 2020 von deluxebrain erstellt.
ansible-galaxy install deluxebrain.ansible_role_nodejs