第4章 Playbook プロジェクトの作成
Ansible Automation Platform VS Code 拡張機能を使用して、新しい Ansible Playbook プロジェクトをスキャフォールディングします。このプロセスにより、必要なディレクトリー構造と設定ファイルが作成され、Playbook 開発のための環境が準備されます。
4.1. Playbook プロジェクトのスキャフォールディング リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、Ansible VS Code 拡張機能を使用して新しい Playbook プロジェクトをスキャフォールディングするプロセスを説明します。
前提条件
- Ansible 開発ツールがインストール済みである。
- Ansible VS Code 拡張機能がインストール済みである。
- プロジェクトを保存するディレクトリーを特定している。
手順
- VS Code を開きます。
- VS Code アクティビティーバーの Ansible アイコンをクリックして、Ansible 拡張機能を開きます。
Ansible コンテンツクリエーターの セクションで 開始する を選択してください。
Ansible コンテンツ作成 タブが開きます。
作成 セクションで、Ansible Playbook プロジェクト をクリックします。
Ansible プロジェクトの作成 タブが開きます。
Ansible プロジェクトの作成 タブのフォームに、以下を入力します。
宛先ディレクトリー: 新しい Playbook プロジェクトを作成するディレクトリーへのパスを入力してください。
注記既存のディレクトリー名を入力すると、スキャフォールディングプロセスによってそのディレクトリーの内容が上書きされます。スキャフォールディングプロセスでは、
強制オプションを有効にした場合にのみ、既存のディレクトリーを使用できます。-
Ansible 開発ツールのコンテナー化されたバージョンを使用している場合、宛先ディレクトリーパスはコンテナーに対する相対パスであり、ローカルシステム内のパスではありません。コンテナー内のカレントディレクトリー名を確認するには、VS Code のターミナルで
pwdコマンドを実行します。コンテナー内のカレントディレクトリーがworkspacesの場合は、workspaces/< 宛先ディレクトリー名 >と入力します。 -
ローカルにインストールされたバージョンの Ansible Dev Tools を使用している場合は、ディレクトリーへの完全なパスを入力してください。たとえば
、/user/<username>/projects/<destination_directory_name> のようになります。
-
Ansible 開発ツールのコンテナー化されたバージョンを使用している場合、宛先ディレクトリーパスはコンテナーに対する相対パスであり、ローカルシステム内のパスではありません。コンテナー内のカレントディレクトリー名を確認するには、VS Code のターミナルで
- SCM 組織と SCM プロジェクト:Playbook 用に作成したロールを保存できるディレクトリーとサブディレクトリーの名前を入力してください。
- 新しい Playbook プロジェクトをスキャフォールディングするディレクトリーの名前を入力します。
検証
プロジェクトディレクトリーが作成されると、[Ansible プロジェクトの作成] タブの [ログ] ペインに次のメッセージが表示されます。この例では、宛先ディレクトリー名は 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