46 lines
1,020 B
YAML
46 lines
1,020 B
YAML
---
|
|
- name: is /etc clean?
|
|
command: git status --porcelain
|
|
args:
|
|
chdir: /etc
|
|
changed_when: False
|
|
register: git_status
|
|
when: not ansible_check_mode
|
|
ignore_errors: yes
|
|
tags:
|
|
- commit-etc
|
|
|
|
- debug:
|
|
var: git_status
|
|
verbosity: 3
|
|
tags:
|
|
- commit-etc
|
|
|
|
- name: fetch current Git user.email
|
|
git_config:
|
|
name: user.email
|
|
repo: /etc
|
|
scope: local
|
|
register: git_config_user_email
|
|
ignore_errors: yes
|
|
|
|
- name: set commit author
|
|
set_fact:
|
|
etc_git_commit_options: "{ --author \"{{ ansible_env.SUDO_USER |default(\"root\")}} <{{ git_config_user_email.config_value |default(\"root@localhost\")}}>\""
|
|
|
|
- name: /etc modifications are committed
|
|
shell: "git add -A . && git commit -m \"{{ commit_message | mandatory }}\"{{ etc_git_commit_options }}"
|
|
args:
|
|
chdir: /etc
|
|
register: etc_commit_end_run
|
|
when: not ansible_check_mode and git_status.stdout != ""
|
|
ignore_errors: yes
|
|
tags:
|
|
- commit-etc
|
|
|
|
- debug:
|
|
var: etc_commit_end_run
|
|
verbosity: 4
|
|
tags:
|
|
- commit-etc
|