constrict0r.aptitude
aptitude
Ansibleロールは、パッケージを管理するためのapt <https://wiki.debian.org/Apt>_のラッパーとして使用されます。
完全なドキュメントはReadthedocs <https://aptitude.readthedocs.io>_にあります。
ソースコードは以下でご覧いただけます:
Github <https://github.com/constrict0r/aptitude>_。
Gitlab <https://gitlab.com/constrict0r/aptitude>_。
成分
内容
説明 <#Description>_使用方法 <#Usage>_変数 <#Variables>_packages <#packages>_packages_purge <#packages-purge>_configuration <#configuration>_
YAML <#YAML>_属性 <#Attributes>_item_expand <#item-expand>_item_path <#item-path>_
要件 <#Requirements>_互換性 <#Compatibility>_ライセンス <#License>_リンク <#Links>_UML <#UML>_展開 <#deployment>_メイン <#main>_
著者 <#Author>_
説明
Ansibleロールは、パッケージを管理するためのaptのラッパーとして使用されます。
このロールは以下のアクションを実行します:
要件がインストールされていることを確認します。
現在のユーザーが管理者(root)権限を取得できることを確認します。
aptキャッシュを更新します。
packages_purge変数が定義されている場合、そのリストにあるパッケージを削除します。
configuration変数が定義されている場合、リストにあるpackages_purgeを削除します。
packages変数が定義されている場合、そのリストにあるパッケージをインストールします。
configuration変数が定義されている場合、リストにあるパッケージをインストールします。
使用方法
インストールして実行する場合:
ansible-galaxy install constrict0r.aptitude ansible localhost -m include_role -a name=constrict0r.aptitude -K変数を渡す場合:
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e "{packages: [gedit, rolldice]}"プレイブックにロールを含める場合:
- hosts: servers roles: - {role: constrict0r.aptitude}他のロールの依存関係としてロールを含める場合:
dependencies: - role: constrict0r.aptitude packages: [gedit, rolldice]タスクからロールを使用する場合:
- name: Execute role task. import_role: name: constrict0r.aptitude vars: packages: [gedit, rolldice]
テストを実行するには:
cd aptitude
chmod +x testme.sh
./testme.sh
いくつかのテストでは、成功するためにsudoを使用する必要があります。
変数
サポートされている変数は以下の通りです:
packages
aptを介してインストールするパッケージのリスト。
このリストは、プレイブックでロールを含める時や、ターミナルから–extra-varsを介して変更できます。
この変数はデフォルトで空です。
# ターミナルから含める場合。
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e "{packages: [gedit, rolldice]}"
packages_purge
aptを使用して削除するパッケージのリスト。
このリストは、プレイブックでロールを含める時や、ターミナルから–extra-varsを介して変更できます。
この変数はデフォルトで空です。
# ターミナルから含める場合。
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e "{packages_purge: [gedit, rolldice]}"
configuration
このロールがサポートする変数の一部または全部を含む*.yml*ファイルの絶対ファイルパスまたはURL。
configurationファイルには、*.ymlまたは.yaml*の拡張子を使用することをお勧めします。
この変数はデフォルトで空です。
# ファイルパスを使用する場合。
ansible localhost -m include_role -a name=constrict0r.aptitude -K -e "configuration=/home/username/my-config.yml"
YAML
設定ファイルをこのロールにパラメーターとして渡す場合は、各ファイルに*.ymlまたは.yaml*の拡張子を追加することをお勧めします。
また、各ファイルの先頭に三つのダッシュを追加することをお勧めします:
---
ファイルに必要な変数を含めることができます:
---
packages:
- [gedit, rolldice]
このロールがファイルやURLからアイテムのリストを読み込むようにしたい場合は、expand変数をtrueに設定できます:
---
packages: /home/username/my-config.yml
expand: true
expand変数がfalseの場合、見つかったファイルパスやURLは単なるテキストとして扱われます。
属性
アイテムレベルで、このロールがアイテムデータをどのように処理するかを設定するために属性を使用できます。
このロールでサポートされる属性は以下の通りです:
item_expand
このアイテムをファイルパスまたはURLとして扱うか、単なるテキストとして扱うかを示す真偽値。
---
packages:
- item_expand: true
item_path: /home/username/my-config.yml
item_path
.ymlファイルへの絶対ファイルパスまたはURL。
---
packages:
- 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/>_。
ライセンス
MITライセンス。詳細はLICENSEファイルを参照してください。
リンク
Github <https://github.com/constrict0r/aptitude>_。Gitlab <https://gitlab.com/constrict0r/aptitude>_。Gitlab CI <https://gitlab.com/constrict0r/aptitude/pipelines>_。Readthedocs <https://aptitude.readthedocs.io>_。Travis CI <https://travis-ci.com/constrict0r/aptitude>_。
UML
展開
全プロジェクト構造は以下の通りです。
メイン
プロジェクトのデータフローは以下の通りです。
著者
旅行するバルデビルの悪役。
楽しんでください!!!
Wrapper for apt to install Debian packages.
ansible-galaxy install constrict0r.aptitude