Author: | Michael DeHaan |
---|
parameter | required | default | choices | comments |
---|---|---|---|---|
accept_hostkey | no | Add the hostkey for the repo url if not already added. If ssh_args contains "-o StrictHostKeyChecking=no", this parameter is ignored. (added in Ansible 1.5) | ||
bare | no | no |
|
if yes , repository will be created as a bare repo, otherwise it will be a standard repo with a workspace. (added in Ansible 1.4) |
depth | no | Create a shallow clone with a history truncated to the specified number or revisions. The minimum possible value is 1 , otherwise ignored. (added in Ansible 1.2) |
||
dest | yes | Absolute path of where the repository should be checked out to. | ||
executable | no | Path to git executable to use. If not supplied, the normal mechanism for resolving binary paths will be used. (added in Ansible 1.4) | ||
force | no | yes |
|
If yes , any modified files in the working repository will be discarded. Prior to 0.7, this was always 'yes' and could not be disabled. (added in Ansible 0.7) |
key_file | no | None | Uses the same wrapper method as ssh_opts to pass "-i <key_file>" to the ssh arguments used by git (added in Ansible 1.5) | |
reference | no | Reference repository (see "git clone --reference ...") (added in Ansible 1.4) | ||
remote | no | origin | Name of the remote. | |
repo | yes | git, SSH, or HTTP protocol address of the git repository. | ||
ssh_opts | no | None | Creates a wrapper script and exports the path as GIT_SSH which git then automatically uses to override ssh arguments. An example value could be "-o StrictHostKeyChecking=no" (added in Ansible 1.5) | |
update | no | yes |
|
If yes , repository will be updated using the supplied remote. Otherwise the repo will be left untouched. Prior to 1.2, this was always 'yes' and could not be disabled. (added in Ansible 1.2) |
version | no | HEAD | What version of the repository to check out. This can be the full 40-character SHA-1 hash, the literal string HEAD , a branch name, or a tag name. |
# Example git checkout from Ansible Playbooks
- git: repo=git://foosball.example.org/path/to/repo.git
dest=/srv/checkout
version=release-0.22
# Example read-write git checkout from github
- git: repo=ssh://git@github.com/mylogin/hello.git dest=/home/mylogin/hello
# Example just ensuring the repo checkout exists
- git: repo=git://foosball.example.org/path/to/repo.git dest=/srv/checkout update=no
Note
If the task seems to be hanging, first verify remote host is in known_hosts. SSH will prompt user to authorize the first contact with a remote host. To avoid this prompt, one solution is to add the remote host public key in /etc/ssh/ssh_known_hosts before calling the git module, with the following command: ssh-keyscan remote_host.com >> /etc/ssh/ssh_known_hosts.