deluxebrain.ansible_role_nodejs

役割名: NODEJS

ビルドステータス

Linux用のNodeJSインストーラーです。デフォルトで、Node.jsのバージョンをインストールするためのnode-buildと、プロジェクトごとの環境変数を設定するためのnodenv-varsプラグインが含まれています。

必要条件

なし。

役割の変数

リストされた変数はすべてdefaults/main.ymlに定義されています。個々の変数は、この役割のプレイブックで設定または上書きできます。

  • nodenv_version: ( デフォルト: latest )
    • インストールするnodenvのバージョン
  • nodebuild_version: ( デフォルト: latest )
    • インストールするnode-buildのバージョン
  • nodenvvars_version: ( デフォルト: latest )
    • インストールするnodenv-varsのバージョン
  • init_shell: ( デフォルト: yes )
    • nodenvを読み込むためのシェルを設定
  • global_nodejs_version: ( デフォルト: "" )
    • デフォルトで使用するNode.jsのバージョン
  • nodejs_versions: ( デフォルト: [] )
    • インストールするNode.jsのバージョンのリスト
  • plugins: ( デフォルト: [] )
    • インストールするプラグインのリスト、以下の形式で指定:
      • name: プラグイン名
      • repo: プラグインのGitHubリポジトリ
      • version: プラグインのバージョン、「latest」を指定するとHEADを指します。

依存関係

なし。

サンプルプレイブック

以下の内容のサンプルです:

  • 特定のバージョンのnodenvのインストール
  • 特定のバージョンのNode.jsのインストール
  • nodenv-default-packagesノード環境プラグインのインストール
- 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

開発環境のインストール

パッケージは開発と本番の依存関係に分かれており、requirements-dev.txtrequirements.txtのファイルで管理されています。

本番用のパッケージはpip-toolsスイートを通じて管理され、含まれるrequirements.inファイルを用いてプロジェクトの依存関係をインストールおよび同期します。

# プロジェクトの仮想環境を作成
# 開発依存関係を仮想環境にインストール
make install

pip-toolsrequirements.txtを生成する責任があり、これはPythonの仮想環境を同期し、本番環境内のパッケージをインストールするために使用される完全に固定された要件ファイルです。

このため、requirements.txtファイルは手動で編集すべきではなく、requirements.inファイルが変更されるたびに再生成する必要があります。以下のように行い、パッケージの変更を仮想環境に同期します。

# requirements.inファイルをrequirements.txtにコンパイル
# requirements.txtのパッケージを仮想環境にインストール
make sync

pip-toolsと他の開発要件は、requirements-dev.txtファイルを通じてインストールされます。

役割の使用

NodeJSのバージョンはnodenvで管理されます。

nodenvを使用すると、マシン上で複数のNodeバージョンを使用できます。

# 特定のNodeバージョンをインストール
nodenv install 12.3.1

# プロジェクトディレクトリを作成
mkdir ~/my-project && cd $_

# 特定のNodeバージョンを使用するようにプロジェクトを設定
nodenv local 12.3.1   # .node-versionを作成

npmを使ったパッケージ管理

新しいプロジェクトを作成するためにnpmを使用する例を以下に示します。

npx license mit > LICENSE     # ライセンスファイルを生成
npx gitignore node            # .gitignoreを指定
npx covgen <EMAIL_ADDRESS>    # 行動規範のメールアドレスを指定
npm init -y                   # プロジェクトの初期化
npm install <package>

注意点として、npxはグローバルにパッケージをインストールする代わりに使用されるべきです。

その他のツール

nodenv-vars

nodenv-varsは、プロジェクトごとのアプリケーション環境変数を許可するnodenvのプラグインです。

その使用方法は以下の例で示されています。

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

ライセンス

MIT / BSD

著者情報

この役割は2020年にdeluxebrainによって作成されました。

プロジェクトについて

Node.js installer for Linux

インストール
ansible-galaxy install deluxebrain.ansible_role_nodejs
ライセンス
mit
ダウンロード
752
所有者