我正在编写 ansible-playbook,它应该有助于为持续交付管道生成构建代理。除其他问题外,我需要在这样的代理上安装一个 oracle 客户端。我想做类似的事情
- name: "Provide response file"
copy: src=/custom.rsp dest=/opt/oracle
在 custom.rsp 文件中,我有一些要替换的变量。通常,可以使用单独的 shell 命令来完成,如下所示:
- name: "Substitute Vars"
shell: "sed 's|<PARAMETER>|<VALUE>|g' -i /opt/oracle/custom.rsp"
不过我不喜欢。应该有一种更方便的方法来做到这一点。有人给我提示吗?
最佳答案
您想使用 template 而不是复制静态文件。
此外,当使用副本或模板模块时,dest
参数是完整路径和文件名,而不仅仅是路径。因此,如果您想在目录/opt/oracle 中获得 custom.rsp
的副本,那么您需要执行以下操作:
- name: "Provide response file"
template: src=/custom.rsp dest=/opt/oracle/custom.rsp
关于使用替换的自定义变量将文件复制到 ansible 主机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33528212/