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.txt
とrequirements.txt
のファイルで管理されています。
本番用のパッケージはpip-tools
スイートを通じて管理され、含まれるrequirements.in
ファイルを用いてプロジェクトの依存関係をインストールおよび同期します。
# プロジェクトの仮想環境を作成
# 開発依存関係を仮想環境にインストール
make install
pip-tools
はrequirements.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によって作成されました。