有人知道如何将playbooks放入文件夹,但共享相同的角色、group_vars和其他通常位于根目录的东西吗?
root_dir: - group_vars - roles - inventory - playbooks - my_playbook.yml - site.yml - deploy.yml
- hosts: host_group sudo: true gather_facts: false vars_files: - ../group_vars/all/main.yml
这将获取main.yml中定义的var。但是,我不清楚这是否会添加在group_vars/中定义的组变量,而不是显式指定的.../group_vars/。
谢了!
Ansible将拾取group_vars
,而不显式声明路径:
以下是/tmp/ansible
中的目录结构示例:
/tmp/ansible
├── group_vars
│ └── test_group.yml
├── inventory
├── playbooks
│ └── foo.yml
└── site.yml
库存文件:
[test_group]
localhost
# site.yml
---
- include: playbooks/foo.yml
---
- hosts: localhost
tasks:
- debug: var=foo
foo: bar
ansible-playbook -i inventory playbooks/foo.yml -c local
PLAY [localhost] **************************************************************
GATHERING FACTS ***************************************************************
ok: [localhost]
TASK: [debug var=foo] *********************************************************
ok: [localhost] => {
"var": {
"foo": "bar"
}
}
PLAY RECAP ********************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0
目录位于父路径/tmp/ansible/Playbooks
:
ansible-playbook -i ../inventory foo.yml -c local
PLAY [localhost] **************************************************************
GATHERING FACTS ***************************************************************
ok: [localhost]
TASK: [debug var=foo] *********************************************************
ok: [localhost] => {
"var": {
"foo": "bar"
}
}
PLAY RECAP ********************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0
正如我们在上面的示例中所看到的,ansible-playbook将根据目录文件
或ansible执行的文件夹的路径查找变量。剧本可以被分开而不需要额外的努力。
我经常使用标志遍历多个子目录,并提取特定文件或文件类型,而不必单独明确引用每个文件。例子: 这会在我的目标路径中创建与最初检索DLL的源完全相同的目录结构。例如,如果我从上面的检索了一个DLL,那么它会将该DLL放在路径中。 这种行为可以通过以下方式进行修改: 但显然,这意味着我必须单独引用依赖关系中的每个子目录。 因此,64000美元的问题是,如何防止在目标中重新创建相同的目录,而不必显式引用源
问题内容: 将AngularJS应用程序转到目录后,我想使用进行测试。问题是只提供我目录中的所有代码。另外,请记住,我使用创建了我的应用程序。 这是我的 Gruntfile.js中* 的服务器任务代码 * 有没有办法使仅在目录中提供已构建的代码? 问题答案: 是否可以做并不重要。 重要的是您不应为此使用grunt服务器。 如您所见,服务器任务非常艰苦,它可以完成dist文件夹中不需要的许多事情,以
问题内容: 我可以使用SWT 选择文件夹而不是文件吗? 问题答案: 您可以使用代替。这是一些示例代码: 这是一个稍大的示例。
问题内容: 已锁定 。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我试图找到一个目录中存在的文件,而不是另一个目录中的文件,我尝试使用以下命令: 与上面的命令,它会找到这两个文件的问题,但不是还有文件而不是在, 我试图在文件中找到文件,但不仅在其中。 这是我的数据的一小部分样本 在我脑海里的另一个问题是,我怎么能找到的文件,而不是在或在一个单一的命令?
我的程序从不是项目根目录的位置读入文档。文档包含一个相对路径。当程序应用该路径时,它确实从项目的根目录开始。如何使其应用来自文档原始位置的路径? 以下是细节。有点长,但很简单。 我在Eclipse中有一个Java项目,位于 该程序运行一个XSL转换,该转换以Schematron模式作为输入,并产生一个新的XSLT样式表作为输出 它包含这一行,还有几条类似的: 如果从模式的位置开始,并应用该相对路径
我使用Apache Maven来管理我的Java库(jar)和一些使用这些库的项目。为了方便起见,我使用生成Eclipse项目文件,这些文件可以导入Eclipse工作区进行编辑。 当我在同一个Eclipse工作区中编辑主项目和Java库项目时会出现问题。也就是说,在文件中包含了src路径依赖项,而不是预期的依赖项。 和工作完美,其中是从我的repo自动下载的。但是,当尝试时,我发现生成的文件没有像