constrict0r.jsnode
jsnode
.. image:: https://gitlab.com/constrict0r/jsnode/badges/master/pipeline.svg :alt: パイプライン
.. image:: https://travis-ci.com/constrict0r/jsnode.svg :alt: Travis
.. image:: https://readthedocs.org/projects/jsnode/badge :alt: Read the Docs
Yarn <https://yarnpkg.com/>
_ をラッパーとして使うための Ansible ロールで、nodejs パッケージをインストールします。
.. image:: https://gitlab.com/constrict0r/img/raw/master/jsnode/avatar.png :alt: アバター
完全なドキュメントは Read the Docs <https://jsnode.readthedocs.io>
_ にあります。
ソースコードは以下から入手できます:
Github <https://github.com/constrict0r/jsnode>
_。
Gitlab <https://gitlab.com/constrict0r/jsnode>
_。
一部: <https://gitlab.com/explore/projects?tag=doombot>
_
.. image:: https://gitlab.com/constrict0r/img/raw/master/jsnode/doombot.png :alt: ドゥームボット
材料
.. image:: https://gitlab.com/constrict0r/img/raw/master/jsnode/ingredient.png :alt: 材料
目次
説明 <#Description>
_使い方 <#Usage>
_変数 <#Variables>
_packages_js <#packages-js>
_configuration <#configuration>
_
YAML <#YAML>
_属性 <#Attributes>
_item_expand <#item-expand>
_item_path <#item-path>
_
要件 <#Requirements>
_互換性 <#Compatibility>
_制限事項 <#Limitations>
_ライセンス <#License>
_リンク <#Links>
_UML <#UML>
_デプロイメント <#deployment>
_メイン <#main>
_
著者 <#Author>
_
説明
yarn <https://yarnpkg.com/>
_ のラッパーとして使うための Ansible ロールで、nodejs パッケージをインストールします。
このロールは以下のアクションを実行します:
要件がインストールされていることを確認します。
現在のユーザーが管理者(ルート)権限を取得できることを確認します。
まだ追加されていない場合は、nodejs リポジトリを apt ソースに追加します。
インストールされていない場合は、nodejs をインストールします。
packages_js 変数が定義されている場合、その中にリストされた JavaScript パッケージをインストールします。
configuration 変数が定義されている場合、その中にリストされた JavaScript パッケージをインストールします。
使い方
- インストールして実行するには:
..
::
ansible-galaxy install constrict0r.jsnode
ansible localhost -m include_role -a name=constrict0r.jsnode -K
- 変数を渡すには:
..
::
ansible localhost -m include_role -a name=constrict0r.jsnode -K \
-e "{packages_js: [node-red, {name: requests, version: 2.22.0}]}"
- プレイブックでロールを含めるには:
..
::
- hosts: servers
roles:
- {role: constrict0r.jsnode}
- 他のロールの依存関係としてロールを含めるには:
..
::
dependencies:
- role: constrict0r.jsnode
packages_js: [node-red, {name: requests, version: 2.22.0}]
- タスクからロールを使用するには:
..
::
- name: ロールタスクを実行します。
import_role:
name: constrict0r.jsnode
vars:
packages_js: [node-red, {name: requests, version: 2.22.0}]
テストを実行するには:
::
cd jsnode chmod +x testme.sh ./testme.sh
一部のテストでは、成功するために sudo を使用する必要があります。
変数
サポートされている変数は以下のとおりです:
packages_js
Yarn 経由でインストールするパッケージのリストです。
プレイブックでロールを含めるときや、ターミナルから –extra-vars 経由で、packages_js 配列を渡すことでこのリストを変更できます。
特定のパッケージバージョンをインストールしたい場合は、そのパッケージの name と version 属性を指定してください。
この変数はデフォルトで空です。
::
ターミナルからの呼び出し。
ansible localhost -m include_role -a name=constrict0r.jsnode -K -e
"{packages_js: [node-red, {name: requests, version: 2.22.0}]}"
プレイブックでの呼び出し。
- hosts: servers
roles:
- role: constrict0r.jsnode
packages_js:
- node-red
- name: requests version: 2.22.0
- role: constrict0r.jsnode
packages_js:
ターミナルからプレイブックに。
ansible-playbook -i inventory my-playbook.yml -K -e
"{packages_js: [node-red, {name: requests, version: 2.22.0}]}"
configuration
このロールがサポートする全てまたは一部の変数を含む .yml ファイルの絶対ファイルパスまたは URL です。
configuration ファイルには、*.yml* または .yaml 拡張子を使用することをお勧めします。
この変数はデフォルトで空です。
::
ファイルパスを使用。
ansible localhost -m include_role -a name=constrict0r.jsnode -K -e
"configuration=/home/username/my-config.yml"
URLを使用。
ansible localhost -m include_role -a name=constrict0r.jsnode -K -e
"configuration=https://my-url/my-config.yml"
設定ファイルの書き方については YAML ファイルフォーマットセクションを参照してください。
YAML
このロールに設定ファイルをパラメータとして渡すときは、各ファイルに .yml または .yaml 拡張子を追加することをお勧めします。
また、各ファイルの先頭に三つのダッシュを追加することをお勧めします:
::
ファイル内には、タスクに必要な変数を含めることができます:
::
packages_js: - [node-red, {name: requests, version: 2.22.0}]
このロールがファイルやURLからアイテムのリストをロードする場合、expand 変数を true に設定できます:
::
packages_js: /home/username/my-config.yml
expand: true
expand 変数が false の場合、見つかったファイルパスまたは URL はプレーンテキストとして扱われます。
属性
アイテムレベルで、このロールがアイテムデータをどのように処理するかを設定するための属性を使用できます。
このロールでサポートされている属性は次のとおりです:
item_expand
このアイテムをファイルパスまたは URL として扱うか、プレーンテキストとして扱うかを示すブール値です。
::
packages_js: - item_expand: true item_path: /home/username/my-config.yml
item_path
.yml ファイルへの絶対ファイルパスまたは URL です。
::
packages_js: - item_path: /home/username/my-config.yml
この属性は URL でも機能します。
要件
Ansible <https://www.ansible.com>
_ >= 2.8。Jinja2 <https://palletsprojects.com/p/jinja/>
_。Pip <https://pypi.org/project/pip/>
_。Python <https://www.python.org/>
_。PyYAML <https://pyyaml.org/>
_。Requests <https://2.python-requests.org/en/master/>
_。
テストを実行したい場合は、以下も必要です:
Docker <https://www.docker.com/>
_。Molecule <https://molecule.readthedocs.io/>
_。Setuptools <https://pypi.org/project/setuptools/>
_。
互換性
Debian Buster <https://wiki.debian.org/DebianBuster>
_。Debian Raspbian <https://raspbian.org/>
_。Debian Stretch <https://wiki.debian.org/DebianStretch>
_。Ubuntu Xenial <http://releases.ubuntu.com/16.04/>
_。
制限事項
このロールは最新の nodejs アクティブ LTS バージョンを使用し、ほとんどの場合に問題なく動作します。
パッケージはグローバルにインストールされます。
ライセンス
MIT。詳しい情報は LICENSE ファイルを参照してください。
リンク
Github <https://github.com/constrict0r/jsnode>
_。Gitlab <https://gitlab.com/constrict0r/jsnode>
_。Gitlab CI <https://gitlab.com/constrict0r/jsnode/pipelines>
_。Read the Docs <https://jsnode.readthedocs.io>
_。Travis CI <https://travis-ci.com/constrict0r/jsnode>
_。
UML
デプロイメント
プロジェクトの全体的な構造を以下に示します:
.. image:: https://gitlab.com/constrict0r/img/raw/master/jsnode/deploy.png :alt: デプロイ
メイン
プロジェクトのデータフローを以下に示します:
.. image:: https://gitlab.com/constrict0r/img/raw/master/jsnode/main.png :alt: メイン
著者
.. image:: https://gitlab.com/constrict0r/img/raw/master/jsnode/author.png :alt: 著者
旅するバウドビルの悪役。
楽しんでください!!!
.. image:: https://gitlab.com/constrict0r/img/raw/master/jsnode/enjoy.png :alt: 楽しんでください
Wrapper for Yarn to install packages.
ansible-galaxy install constrict0r.jsnode