Ansible:如何初始化git裸存储库并将其克隆到同一台机器上?

时间:2016-08-29 10:51:47

标签: git ansible ansible-playbook git-bare

我想问你如何使用Ansible实现这样的案例。

我的主要目标是使用裸机存储库并将其克隆到同一台机器(/ var / www)。 我通常的步骤是:

1)git init -bare(在/ git / project-name中运行)

2)git clone / git / project-name -no-hardlinks(在в/ var / www中运行)

当我愿意使用Ansible做这个案例时,我无法实现第一步 - 初始化如果是一个空的git裸存储库。

Ansible git模块要求'repo'param应该填充存储库地址,但是如果我只创建一个地址,我该如何定义它?

git:repo = ?? dest = / git / project-name bare = yes

1 个答案:

答案 0 :(得分:3)

以下是使用新的裸仓库设置git服务器的示例手册:

---
- hosts: git.example.org
  become: true
  tasks:
    - user:
        name: git
        shell: /usr/bin/git-shell
        home: /srv/git

    - authorized_key:
        user: git
        state: present
        key: https://github.com/myuser.keys

    - command: git init --bare /srv/git/myrepo.git
      args:
        creates: /srv/git/myrepo.git/HEAD
      become_user: git

如果您已经在服务器上设置了git用户,那么您只需要关注command任务。享受!