第4章 Playbook プロジェクトの作成
4.1. Playbook プロジェクトのスキャフォールディング
次の手順では、Ansible VS Code 拡張機能を使用して新しい Playbook プロジェクトをスキャフォールディングするプロセスを説明します。
前提条件
- Ansible 開発ツールがインストール済みである。
- Ansible VS Code 拡張機能がインストール済みである。
- プロジェクトを保存するディレクトリーを特定している。
手順
- VS Code を開きます。
- VS Code アクティビティーバーの Ansible アイコンをクリックして、Ansible 拡張機能を開きます。
Ansible content creator セクションで Get started を選択します。
Ansible content creator タブが開きます。
Create セクションで、Ansible playbook project をクリックします。
Create Ansible Project タブが開きます。
Create Ansible project タブのフォームに、以下を入力します。
Destination directory: 新しい Playbook プロジェクトをスキャフォールディングするディレクトリーへのパスを入力します。
注記既存のディレクトリー名を入力すると、スキャフォールディングプロセスによってそのディレクトリーの内容が上書きされます。スキャフォールディングプロセスでは、
Force
オプションを有効にした場合にのみ、既存のディレクトリーを使用できます。-
Ansible 開発ツールのコンテナー化されたバージョンを使用している場合、宛先ディレクトリーパスはコンテナーに対する相対パスであり、ローカルシステム内のパスではありません。コンテナー内の現在のディレクトリー名を確認するには、VS Code のターミナルで
pwd
コマンドを実行します。コンテナー内の現在のディレクトリーがworkspaces
の場合は、workspaces/<destination_directory_name>
と入力します。 -
ローカルにインストールされたバージョンの Ansible 開発ツールを使用している場合は、ディレクトリーへのフルパスを入力します (例:
/user/<username>/projects/<destination_directory_name>)
。
-
Ansible 開発ツールのコンテナー化されたバージョンを使用している場合、宛先ディレクトリーパスはコンテナーに対する相対パスであり、ローカルシステム内のパスではありません。コンテナー内の現在のディレクトリー名を確認するには、VS Code のターミナルで
- SCM organization and SCM project: Playbook 用に作成したロールを保存できるディレクトリーとサブディレクトリーの名前を入力します。
- 新しい Playbook プロジェクトをスキャフォールディングするディレクトリーの名前を入力します。
検証
プロジェクトディレクトリーが作成されると、Create Ansible Project タブの Logs ペインに、次のメッセージが表示されます。この例では、宛先ディレクトリー名は destination_directory_name
です。
------------------ ansible-creator logs ------------------ Note: ansible project created at /Users/username/test_project
プロジェクトディレクトリーに、次のディレクトリーとファイルが作成されます。
$ tree -a -L 5 . ├── .devcontainer │ ├── devcontainer.json │ ├── docker │ │ └── devcontainer.json │ └── podman │ └── devcontainer.json ├── .gitignore ├── README.md ├── ansible-navigator.yml ├── ansible.cfg ├── collections │ ├── ansible_collections │ │ └── scm_organization_name │ │ └── scm_project_name │ └── requirements.yml ├── devfile.yaml ├── inventory │ ├── group_vars │ │ ├── all.yml │ │ └── web_servers.yml │ ├── host_vars │ │ ├── server1.yml │ │ ├── server2.yml │ │ ├── server3.yml │ │ ├── switch1.yml │ │ └── switch2.yml │ └── hosts.yml ├── linux_playbook.yml ├── network_playbook.yml └── site.yml