marverix.nodejs

Ansibleロール: Node.js

ビルドステータス Ansible品質スコア Ansibleロール ライセンス: ISC

LinuxにNode.jsとnpmをインストールするAnsibleロールで、オプションとして基本的な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 npmレジストリのURL いいえ
scopes スコープのリスト。各スコープはname@なし)とregistryを持っている必要があります。以下のプレイブックの例を参照してください。 いいえ
default_scope デフォルトスコープ いいえ

依存関係

特になし

例プレイブック

  1. 一番シンプルな例

    ---
    - hosts: all
      roles:
        - marverix.nodejs
    
  2. グローバルにmochaeslintをインストール

    ---
    - hosts: all
      roles:
        - role: marverix.nodejs
          vars:
            nodejs_npm_install_globally:
              - mocha
              - eslint
    
  3. ユーザーrootのためにnpmレジストリを設定し、接頭辞、スコープの設定、デフォルトスコープを設定:

    ---
    - 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
ダウンロード
189
所有者
Everyday normal Software Engineer