ansible-development-environ.../roles/robertdebock.git/tasks/main.yml

66 lines
1.6 KiB
YAML

---
# tasks file for git
- name: install git
package:
name: "{{ git_packages }}"
state: "{{ git_package_state }}"
register: git_install_git
until: git_install_git is succeeded
retries: 3
- name: see if the specified user exists
getent:
database: passwd
key: "{{ git_username }}"
fail_key: no
- name: show getent_passwd
debug:
msg: "getent_passwd: {{ getent_passwd }}"
- name: create directory for git configuration
file:
path: /home/{{ git_username }}
state: directory
owner: "{{ git_username }}"
group: "{{ git_groupname }}"
when:
- getent_passwd[git_username] != none
- name: place git configuration
template:
src: gitconfig.j2
dest: /home/{{ git_username }}/.gitconfig
when:
- git_user_email is defined
- git_user_name is defined
- git_username is defined
- getent_passwd[git_username] != none
- name: create repository_destination
file:
path: "{{ git_repository_destination }}"
state: directory
owner: "{{ git_username }}"
group: "{{ git_groupname }}"
when:
- git_repository_destination is defined
- git_username is defined
- git_groupname is defined
- getent_passwd[git_username] != none
- name: clone all roles
git:
repo: "{{ item.repo }}"
dest: "{{ git_repository_destination }}/{{ item.dest }}"
accept_hostkey: yes
version: "{{ item.version | default('HEAD') }}"
with_items: "{{ git_repositories }}"
become: yes
become_user: "{{ git_username }}"
when:
- git_repository_destination is defined
- git_repositories is defined
- git_username is defined
- getent_passwd[git_username] != none