Ansible Playbook 充当 Git 中间人

Ansible Playbook acting as a Git Middle Man

我的情况是 运行 我的笔记本电脑上的剧本是用来构建新服务器的,我需要从远程源克隆一个存储库。问题是我的新服务器和 Git 服务器无法相互通信。

所以我的问题是,如何将笔记本电脑用作临时位置,以便将存储库克隆到新服务器?例如,我可以 Git 从 GitHub 克隆到我的笔记本电脑,然后 git 从我的笔记本电脑克隆到新服务器上吗?

  - name: Clone between Hosts Part 1
    git:
      repo: https://github.com/blah/blah.git
      dest: /my/laptop/var/tmp/

  - name: Clone between Hosts Part 2
    git:
      repo: /my/laptop/var/tmp/blah.git
      dest: /remote/server/directory/

这样的事情可能吗?将存储库克隆到我的笔记本电脑,然后从我的笔记本电脑将其重新克隆到远程服务器上?

您可以使用 local action 将存储库克隆到本地笔记本电脑:

 - name: check out a git repository
    local_action: git repo=git://foosball.example.org/path/to/repo.git dest=/local/path

然后您可以使用 syncronize or copy 将文件发送到您的服务器。

从远程服务器到本地机器的 Git 克隆有点困难,因为您的远程服务器必须能够访问本地笔记本电脑。因此,将文件从本地复制到远程服务器会更容易。