darkwizard242.nodejs

Ansible Role: nodejs

このロールは、Debian系およびEL系システムにおいて、デフォルトで nodejs パッケージをインストール(または、変数を指定された場合はアンインストール)します。nodejs は、JavaScript の実行環境です。npmnpx もこのロールの一部としてインストールされます。デフォルトでは、NodeJS のバージョン 18.x がインストールされるように設定されています。

要件

なし。

ロール変数

利用可能な変数は以下にリストされています(defaults/main.yml に位置しています)。

変数リスト:

nodejs_app: nodejs
nodejs_app_desired_state: present
nodejs_version: 18.x

# Debian系
nodejs_debian_pre_reqs:
  - apt-transport-https
  - gnupg
nodejs_debian_pre_reqs_desired_state: present
nodejs_repo_debian_gpg_key: https://deb.nodesource.com/gpgkey/nodesource.gpg.key
nodejs_repo_debian: "deb https://deb.nodesource.com/node_{{ nodejs_version }} {{ ansible_lsb['codename'] }} main"
nodejs_repo_debian_filename: "{{ nodejs_app }}"
nodejs_repo_debian_desired_state: present

# EL系
nodejs_repo_el: "https://rpm.nodesource.com/pub_{{ nodejs_version }}/el/{{ ansible_distribution_major_version }}/$basearch"
nodejs_repo_el_name: nodesource
nodejs_repo_el_description: Node.js ELファミリーリポジトリ
nodejs_repo_el_gpgkey: https://rpm.nodesource.com/pub/el/NODESOURCE-GPG-SIGNING-KEY-EL
nodejs_repo_el_gpgcheck: yes
nodejs_repo_el_enabled: yes
nodejs_repo_el_filename: "{{ nodejs_app }}"
nodejs_repo_el_desired_state: present

変数表:

変数 説明
nodejs_app インストールする必要がある nodejs アプリケーションパッケージの名前(例:nodejs
nodejs_app_desired_state nodejs_app パッケージの状態。インストール、利用可能か検証、アンインストールのいずれか(例:presentlatest または absent
nodejs_version インストールする NodeJS のバージョン。
nodejs_debian_pre_reqs NodeJSは、Debian系システムにおいてこれら2つのパッケージのインストールを推奨します。
nodejs_debian_pre_reqs_desired_state Debian系システムにおけるNodeJSの前提パッケージの希望の状態。
nodejs_repo_debian_gpg_key Debian系システムで必要なNodeJSのGPGキー。
nodejs_repo_debian Debian系システム用のNodeJSリポジトリURL。ansible_lsb['codename']などのファクトを利用します。
nodejs_repo_debian_filename Debian系システムに /etc/apt/sources.list.d/ に保存されるリポジトリファイルの名前。
nodejs_repo_debian_desired_state present はリポジトリファイルが存在しない場合に作成されることを示します。absent(これは推奨されません)とすることも可能です。
nodejs_repo_el EL系システム用のNodeJSリポジトリの baseurlansible_distribution_major_versionファクトを利用して適切なバージョンを設定します。
nodejs_repo_el_name EL系システム用のNodeJSリポジトリ名。
nodejs_repo_el_description EL系リポジトリファイルに追加されるNodeJSの説明。
nodejs_repo_el_gpgkey EL系システムで必要なNodeJSのGPGキー。
nodejs_repo_el_gpgcheck EL系システムでNodeJSに対するGPGチェックを行うかどうかの真偽値。
nodejs_repo_el_enabled EL系システムでNodeJSリポジトリを有効にするかの真偽値。
nodejs_repo_el_filename EL系システムに /yum/sources.list.d/nodejs.repo に保存されるリポジトリファイルの名前。
nodejs_repo_el_desired_state present はリポジトリファイルが存在しない場合に作成されることを示します。absent(これは推奨されません)とすることも可能です。

依存関係

なし。

サンプルプレイブック

ロールのデフォルト動作(すなわち、nodejs パッケージのインストール)に対するAnsibleのプレイブックの例。

- hosts: servers
  roles:
    - darkwizard242.nodejs

ロールの動作をカスタマイズする(例:NodeJSの12.xバージョンをインストールする)Ansibleプレイブックの例。

- hosts: servers
  roles:
    - darkwizard242.nodejs
  vars:
    nodejs_version: 14.x

ロールの動作をカスタマイズする(例:nodejs パッケージのアンインストール)Ansibleプレイブックの例。

- hosts: servers
  roles:
    - darkwizard242.nodejs
  vars:
    nodejs_app_desired_state: absent

ライセンス

MIT

作者情報

このロールは、Ali Muhammad によって作成されました。

プロジェクトについて

Installs/Uninstalls 'nodejs'. A JavaScript runtime environment.

インストール
ansible-galaxy install darkwizard242.nodejs
ライセンス
mit
ダウンロード
4k
所有者
Senior DevOps/CloudOps Engineer. Dedicated to Automating everything I come across. Love to work on and learn new technologies/tools everyday!