redbeard28.bootstrap
ブートストラップ

Ansibleによって管理されるようにシステムを準備します。
例のプレイブック
この例はmolecule/resources/playbook.yml
からのもので、各プッシュ、プルリクエスト、リリース時にテストされます。
---
- name: 確認
hosts: all
become: yes
gather_facts: no
roles:
- robertdebock.bootstrap
このスクリプトを実行するマシンは準備が必要です。私はこのプレイブックを使って、役割が機能するために必要なものがすべて整っていることを確認しています。
準備は必要ありません。
この役割を実行した後、このプレイブックが実行されて、すべてが正常に動作しているかを確認します。これは役割を使用する良い例かもしれません。
---
- name: 確認
hosts: all
become: no
gather_facts: yes
tasks:
- name: 接続テスト
ping:
役割の使い方については、完全な説明と例もご覧ください。
役割の変数
これらの変数はdefaults/main.yml
に設定されています。
---
# bootstrapのデフォルトファイル
# マシンに接続するために使用するユーザー。
bootstrap_user: root
# ホストが使用可能になるまで待ちますか?
bootstrap_wait_for_host: no
# 接続テストで失敗する前に待つ秒数。
bootstrap_timeout: 3
# インストール中の再試行回数。
bootstrap_retries: 3
要件
- パッケージを含むリポジトリへのアクセス(おそらくインターネット上にあります)。
- 最近のバージョンのAnsible。(テストはAnsibleの現在、前回、次回のリリースで実行されます。)
以下の役割をインストールすることで、すべての要件を満たすことができます。ansible-galaxy install -r requirements.yml
を使用してください。
- なし
コンテキスト
この役割は多くの互換性のある役割の一部です。さらなる情報については、これらの役割のドキュメントをご覧ください。
関連する役割の概要は以下の通りです。
互換性
この役割は、以下のコンテナイメージでテストされています。
コンテナ | タグ |
---|---|
amazon | 全て |
alpine | 全て |
archlinux | 全て |
debian | 全て |
el | 7, 8 |
fedora | 全て |
opensuse | 全て |
sles | 全て |
ubuntu | artful, bionic |
必要なAnsibleの最小バージョンは2.8ですが、以下のテストが行われています。
- 前のバージョン、下位バージョン。
- 現在のバージョン。
- 開発バージョン。
テスト
ユニットテストは、すべてのコミット、プルリクエスト、リリースに対して実行され、定期的にも行われます。
問題を見つけた場合は、GitHubに登録してください。
Toxは複数のAnsibleバージョンをテストします。 Moleculeは複数のディストリビューションをテストします。
デフォルトを使用してテストする場合(インストールされた任意のAnsibleバージョン、名前空間:robertdebock
、イメージ:fedora
、タグ:latest
):
molecule test
# 特定のイメージを選択する場合:
image=ubuntu molecule test
# 特定のイメージと特定のタグを選択する場合:
image="debian" tag="stable" tox
Ansibleの複数のバージョンをテストし、イメージを選択することもできます:
ToxはAnsibleの複数のバージョンをテスト可能です。デフォルトのテスト(名前空間:robertdebock
、イメージ:fedora
、タグ:latest
)を実行するには:
tox
# CentOSを実行するには(名前空間:`robertdebock`、タグ:`latest`)
image="centos" tox
# より多くのカスタマイズをするには:
image="debian" tag="stable" tox
ライセンス
Apache-2.0