deluxebrain.ansible_role_nodejs

Nombre del Rol: NODEJS

Estado de Construcción

Instalador de NodeJS para Linux. Incluye de forma predeterminada los complementos node-build y nodenv-vars para instalar versiones de Node.js y variables de entorno por proyecto, respectivamente.

Requisitos

Ninguno.

Variables del Rol

Todas las variables listadas se definen en defaults/main.yml. Las variables individuales se pueden establecer o sobrescribir configurándolas en un playbook para este rol.

  • nodenv_version: ( predeterminado: latest )
    • Versión de nodenv a instalar
  • nodebuild_version: ( predeterminado: latest )
    • Versión de node-build a instalar
  • nodenvvars_version: ( predeterminado: latest )
    • Versión de nodenv-vars a instalar
  • init_shell: ( predeterminado: yes )
    • Configurar el shell para cargar nodenv
  • global_nodejs_version: ( predeterminado: "" )
    • Versión de Node.js a usar por defecto
  • nodejs_versions: ( predeterminado: [] )
    • Lista de versiones de Node.js a instalar
  • plugins: ( predeterminado: [] )
    • Lista de complementos a instalar, especificados como una lista de:
      • name: nombre del complemento
      • repo: repositorio de GitHub del complemento
      • version: versión del complemento, especificar "latest" para HEAD

Dependencias

Ninguna.

Ejemplo de Playbook

Ejemplo a continuación para lo siguiente:

  • Instalación de versiones específicas de nodenv
  • Instalación de una versión específica de Node.js
  • Instalación del complemento nodenv-default-packages de nodenv
- 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

Instalación de Desarrollo

Los paquetes se dividen en dependencias de desarrollo y de producción, que se gestionan a través de los archivos incluidos requirements-dev.txt y requirements.txt, respectivamente.

Los paquetes de producción se gestionan a través de la suite pip-tools, que instala y sincroniza las dependencias del proyecto a través del archivo requirements.in incluido.

# Crear el entorno virtual del proyecto
# Instalar dependencias de desarrollo en el entorno virtual
make install

pip-tools es responsable de la generación del requirements.txt, que es un archivo de requisitos completamente fijado utilizado tanto para la sincronización del entorno virtual de Python como para la instalación de paquetes en un entorno de producción.

Tenga en cuenta que esto significa que el archivo requirements.txt no debe ser editado manualmente y debe regenerarse cada vez que se cambie el archivo requirements.in. Esto se hace de la siguiente manera, lo que también sincroniza cualquier cambio de paquete en el entorno virtual:

# Compilar el archivo requirements.in a requirements.txt
# Instalar los paquetes de requirements.txt en el entorno virtual
make sync

pip-tools y otros requisitos de desarrollo se instalan a través del archivo requirements-dev.txt, de la siguiente manera:

Uso del Rol

Las versiones de NodeJS se gestionan a través de nodenv.

nodenv te permite usar múltiples versiones de Node en tu máquina.

# Instalar una versión específica de Node
nodenv install 12.3.1

# Crear un directorio para el proyecto
mkdir ~/my-project && cd $_

# Configurar el proyecto para usar una versión específica de Node
nodenv local 12.3.1   # crea .node-version

Gestión de paquetes usando npm

El uso de npm para crear un nuevo proyecto se demuestra en el siguiente ejemplo:

npx license mit > LICENSE     # Generar archivo de licencia
npx gitignore node            # Especificar .gitignore
npx covgen <EMAIL_ADDRESS>    # Especificar la dirección de correo electrónico del Código de Conducta
npm init -y                   # Inicializar proyecto
npm install <package>

Tenga en cuenta que npx debe ser preferido a la instalación de paquetes globalmente.

Otras herramientas

nodenv-vars

nodenv-vars es un complemento para nodenv que permite variables de entorno de aplicación por proyecto.

Su uso se demuestra en el siguiente ejemplo:

echo FOO=BAR >> .nodenv-vars
$ nodenv vars
export FOO='BAR'

Licencia

MIT / BSD

Información del Autor

Este rol fue creado en 2020 por deluxebrain.

Acerca del proyecto

Node.js installer for Linux

Instalar
ansible-galaxy install deluxebrain.ansible_role_nodejs
Licencia
mit
Descargas
752
Propietario