add git hook
[sebhoss-ansible-setup.git] / roles / git / tasks / main.yml
blob79c2d075a7e9bdbd40f2f4c4db32440f47bd0ba5
1 ---
2 - name: create global git config file
3   template:
4     src: gitconfig.j2
5     dest: "~/gitconfig"
6   tags: git
8 - name: create git repository directory
9   file:
10     path: "{{ user.git }}"
11     mode: 0700
12     state: directory
13   tags:
14     - git
16 - name: create git group repository directories
17   file:
18     path: "{{ user.git }}/{{ item.group }}"
19     mode: 0700
20     state: directory
21   with_items: "{{ projects }}"
22   tags:
23     - git
25 - name: clone git repositories
26   shell: "git clone {{ item.repository }} {{ user.git }}/{{ item.group }}/{{ item.name }}"
27   args:
28     creates: "{{ user.git }}/{{ item.group }}/{{ item.name }}"
29   with_items: "{{ projects }}"
30   tags: git
32 - name: setup git push mirrors for origin
33   shell: "git remote set-url origin --push --add {{ item.1.location }} && touch {{ user.git }}/{{ item.0.group }}/{{ item.0.name }}/.ansible-git-mirror-{{ item.1.name }}"
34   args:
35     chdir: "{{ user.git }}/{{ item.0.group }}/{{ item.0.name }}"
36     creates: "{{ user.git }}/{{ item.0.group }}/{{ item.0.name }}/.ansible-git-mirror-{{ item.1.name }}"
37   with_subelements:
38     - "{{ projects }}"
39     - mirrors
40   tags: git
42 - name: setup git extra remotes
43   shell: "git remote add {{ item.1.name }} {{ item.1.location }} && touch {{ user.git }}/{{ item.0.group }}/{{ item.0.name }}/.ansible-git-remote-{{ item.1.name }}"
44   args:
45     chdir: "{{ user.git }}/{{ item.0.group }}/{{ item.0.name }}"
46     creates: "{{ user.git }}/{{ item.0.group }}/{{ item.0.name }}/.ansible-git-remote-{{ item.1.name }}"
47   with_subelements:
48     - "{{ projects }}"
49     - mirrors
50   tags: git
52 - include_vars:
53     file: talend.yml
54     name: talendrepositories
55   tags:
56     - git
57     - talend
59 - name: create git group repository directories
60   file:
61     path: "{{ user.git }}/talend"
62     mode: 0700
63     state: directory
64   tags:
65     - git
66     - talend
68 - name: clone Talend git repositories
69   shell: "git clone github:/talend/{{ item.name }}.git {{ user.git }}/talend/{{ item.name }}"
70   args:
71     creates: "{{ user.git }}/talend/{{ item.name }}"
72   with_items: "{{ talendrepositories.projects }}"
73   tags: 
74     - git
75     - talend
77 - name: setup Talend git extra remotes
78   shell: "git remote add {{ item.1.name }} {{ item.1.url }} && touch {{ user.git }}/talend/{{ item.0.name }}/.ansible-git-remote-{{ item.1.name }}"
79   args:
80     chdir: "{{ user.git }}/talend/{{ item.0.name }}"
81     creates: "{{ user.git }}/talend/{{ item.0.name }}/.ansible-git-remote-{{ item.1.name }}"
82   with_subelements:
83     - "{{ talendrepositories.projects }}"
84     - remotes
85   tags: 
86     - git
87     - talend