2015-02-09 41 views
1

我有一个Ansible剧本,其中包括其他两个文件:包括在文件的任务

- include: myFile1.yml 
- include: myRepo/myFile2.yml 

的问题是,myRepo是一个Git仓库中myFile1.yml的签出的任务之一,所以myFile2.yml除非myFile.yml中的任务成功完成,否则不存在。

Ansible有一个问题,当然,因为它试图解析文件,即使它不存在并返回一个错误。有没有办法推迟解析文件,直到之后第一个包含文件中的任务完成?

回答

0

解决此问题的一个解决方案是使myRepo存储库的子模块存储库包含myFile1.yml。这样,当检出主回购库时,包含其他手册的库也会自动签出。这可能不适用于所有其他情况,但它在此工作。另一种选择是用shell脚本将所有东西粘合在一起,并试图快速生成剧本,但这似乎更复杂...