使用ansible和jenkins在线编辑文件(pg_hba.conf)

使用ansible和jenkins在线编辑文件(pg_hba.conf),jenkins,ansible,pg-hba.conf,Jenkins,Ansible,Pg Hba.conf,伙计们, 我想使用ansible实时打开一个文件,例如pg_hba.conf(比如vim),并能够动态编辑它。 我希望能够从jenkins选择目标服务器组,读取特定节点的pg_hba.conf的内容,并将这些内容作为参数传递,我可以在自由格式文本中编辑这些内容。在我按下“构建”按钮将新更改保存到节点组后。您可以将其与复制、模板、lineinfle、blockinfle等易用模块一起使用 我认为最好的方法是使用模板模块,但有些时候lineinfle会适合您(请参阅) 有关问题的当前工作示例,请参阅

伙计们, 我想使用ansible实时打开一个文件,例如pg_hba.conf(比如vim),并能够动态编辑它。
我希望能够从jenkins选择目标服务器组,读取特定节点的pg_hba.conf的内容,并将这些内容作为参数传递,我可以在自由格式文本中编辑这些内容。在我按下“构建”按钮将新更改保存到节点组后。

您可以将其与复制、模板、lineinfle、blockinfle等易用模块一起使用

我认为最好的方法是使用模板模块,但有些时候lineinfle会适合您(请参阅)

有关问题的当前工作示例,请参阅

如果您有任何问题,请告诉我。

以下是我的解决方案:

tasks:
    -
      name: cat the pg_file
      shell: cat "{{ pg_path }}"
      register: predata
    - debug:
        msg: "{{predata.stdout_lines|list}}"

我想在编辑之前显示特定pg_hba.conf文件的内容我不明白您的问题。您能描述一下为什么要显示pg_hba.conf!的内容吗!?您可以使用
slurp
模块来检索文件()的base64内容:“此模块的工作方式类似于fetch。它用于获取包含远程文件中数据的base64编码blob”。您可以使用
debug
模块注册结果并在屏幕上打印内容(例如,检查模块示例)。Masseyb,感谢您的重播。我做了类似的事情,在shell命令中使用了“cat”命令,而不是slurp。使用slurp,数据显示在一行上。