darkwizard242.nodejs
Ansible Role: nodejs
このロールは、Debian系およびEL系システムにおいて、デフォルトで nodejs パッケージをインストール(または、変数を指定された場合はアンインストール)します。nodejs は、JavaScript の実行環境です。npm や npx もこのロールの一部としてインストールされます。デフォルトでは、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 パッケージの状態。インストール、利用可能か検証、アンインストールのいずれか(例:present 、latest または 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リポジトリの baseurl 。ansible_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
ライセンス
作者情報
このロールは、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!