7c632352a0
The behaviour of the `include` module is badly defined (it try to choose between statically importing the tasks and dynamically including them) and can cause problems depending on any number of constraints (mostly if it choose the wrong behaviour). Replace it with the `import_tasks` (always statically import tasks) unless the `include` is in a loop in which case we replace it with `include_tasks` (always dynamically include tasks).
71 lines
1.6 KiB
YAML
71 lines
1.6 KiB
YAML
---
|
|
|
|
- include_role:
|
|
name: evolix/remount-usr
|
|
when: repository_path is search("/usr")
|
|
|
|
- name: "{{ repository_path }} is versioned with git"
|
|
command: "git init ."
|
|
args:
|
|
chdir: "{{ repository_path }}"
|
|
creates: "{{ repository_path }}/.git/"
|
|
register: git_init
|
|
tags:
|
|
- etc-git
|
|
|
|
- name: Git user.email is configured
|
|
git_config:
|
|
name: user.email
|
|
repo: "{{ repository_path }}"
|
|
scope: local
|
|
value: "root@{{ ansible_fqdn | default('localhost') }}"
|
|
tags:
|
|
- etc-git
|
|
|
|
- name: "{{ repository_path }}/.git is restricted to root"
|
|
file:
|
|
path: "{{ repository_path }}/.git"
|
|
owner: root
|
|
mode: "0700"
|
|
state: directory
|
|
tags:
|
|
- etc-git
|
|
|
|
- name: "{{ repository_path }}/.gitignore is present"
|
|
copy:
|
|
src: gitignore
|
|
dest: "{{ repository_path }}/.gitignore"
|
|
owner: root
|
|
mode: "0600"
|
|
force: no
|
|
tags:
|
|
- etc-git
|
|
|
|
- name: "Some entries MUST be in the {{ repository_path }}/.gitignore file"
|
|
lineinfile:
|
|
dest: "{{ repository_path }}/.gitignore"
|
|
line: "{{ item }}"
|
|
loop: "{{ gitignore_items | default([]) }}"
|
|
tags:
|
|
- etc-git
|
|
|
|
- name: "does {{ repository_path }}/ have any commit?"
|
|
command: "git log"
|
|
args:
|
|
chdir: "{{ repository_path }}"
|
|
changed_when: False
|
|
failed_when: False
|
|
register: git_log
|
|
check_mode: no
|
|
tags:
|
|
- etc-git
|
|
|
|
- name: initial commit is present?
|
|
shell: "git add -A . && git commit -m \"Initial commit via Ansible\""
|
|
args:
|
|
chdir: "{{ repository_path }}"
|
|
register: git_commit
|
|
when: git_log.rc != 0 or (git_init is defined and git_init is changed)
|
|
tags:
|
|
- etc-git
|