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 配列を渡すことでこのリストを変更できます。

特定のパッケージバージョンをインストールしたい場合は、そのパッケージの nameversion 属性を指定してください。

この変数はデフォルトで空です。

::

ターミナルからの呼び出し。

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

ターミナルからプレイブックに。

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
ライセンス
mit
ダウンロード
2k
所有者
The Traveling Vaudeville Villain Gitlab: gitlab.com/constrict0r - Blog: geekl0g.wordpress.com - Twitter: twitter.com/constrict0r - Functional Café: is.gd/YDqy