使用Ansible在目标服务器上编译源代码tar文件的最佳方法

我正在使用Ansible进行configurationpipe理,我想进一步采用它来部署自定义代码,这是直接在某些服务器上编译的。 没有包,因为代码只是内部的,它是12个Gentoo服务器。

有人可以给我一个例子,你如何正确地做到这一点? 我用command模块检查了一些片段,但我不认为这是做到这一点的方法。

编辑

从Ansible 2.2开始,可以使用档案模块 。

老回答:

Ansible没有archive模块,只有在目标主机上解压archive的unarchive模块 。 查看此ServerFault问答以获取更多信息。

如果您想用Ansible在远程主机上打包文件,则必须使用command模块。

使用命令模块你可以像这样打包文件:

 - name: Archive files. commmand: "tar -cf /tmp/archive.tar /path/to/files" creates: /tmp/archive.tar 

如果你想将远程主机上的文件归档到其他远程主机,我build议看一下同步模块 。