mirror of
https://github.com/DO1JLR/ansible_role_nginx.git
synced 2024-08-16 16:19:48 +02:00
implement versionscheck
This commit is contained in:
parent
40b06cbf9a
commit
f5de2a2056
5 changed files with 63 additions and 0 deletions
8
.yamllint
Normal file
8
.yamllint
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
extends: default
|
||||
|
||||
rules:
|
||||
# 150 chars should be enough, but don't fail if a line is longer
|
||||
line-length:
|
||||
max: 150
|
||||
level: warning
|
|
@ -1,4 +1,6 @@
|
|||
---
|
||||
# enable version check for this role? (true is recomended)
|
||||
submodules_versioncheck: false
|
||||
|
||||
nginx_sites: {}
|
||||
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
---
|
||||
- name: simple versionscheck
|
||||
include_tasks: versioncheck.yml
|
||||
when: submodules_versioncheck | bool
|
||||
|
||||
- name: Install nginx
|
||||
include_tasks: installation.yml
|
||||
|
||||
|
|
46
tasks/versioncheck.yml
Normal file
46
tasks/versioncheck.yml
Normal file
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
- name: Create directory for versionscheck
|
||||
become: true
|
||||
file:
|
||||
path: '/etc/.ansible-version'
|
||||
state: directory
|
||||
mode: 0755
|
||||
when: submodules_versioncheck|bool
|
||||
|
||||
- name: check playbook version
|
||||
become: true
|
||||
slurp:
|
||||
src: "/etc/.ansible-version/{{ playbook_version_path }}"
|
||||
register: playbook_version
|
||||
when: submodules_versioncheck|bool
|
||||
ignore_errors: true
|
||||
failed_when: false
|
||||
|
||||
- name: Print remote role version
|
||||
debug:
|
||||
msg: "Remote role version: {{ playbook_version.content | default('Y3VycmVudGx5IG5vdCBkZXBsb3llZAo=') | b64decode | string }}"
|
||||
when: submodules_versioncheck|bool
|
||||
|
||||
- name: Print locale role version
|
||||
debug:
|
||||
msg: "Local role version: '{{ playbook_version_number|string }}'."
|
||||
when: submodules_versioncheck|bool
|
||||
|
||||
- name: Check if your version is outdated
|
||||
fail:
|
||||
msg: "Your ansible module has the version '{{ playbook_version_number }}' and is outdated. You need to update it!"
|
||||
when:
|
||||
- playbook_version.content|default("Mgo=")|b64decode|int - 1 >= playbook_version_number|int and submodules_versioncheck|bool
|
||||
|
||||
- name: check if '/etc/ansible-version/' is empty
|
||||
find:
|
||||
paths: '/etc/ansible-version/'
|
||||
register: filesFound
|
||||
|
||||
- name: write new version to remote disk
|
||||
become: true
|
||||
copy:
|
||||
content: "{{ playbook_version_number }}"
|
||||
dest: "/etc/.ansible-version/{{ playbook_version_path }}"
|
||||
mode: '0644'
|
||||
when: submodules_versioncheck|bool
|
3
vars/main.yml
Normal file
3
vars/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
playbook_version_number: 22 # should be int
|
||||
playbook_version_path: 'do1jlr.nginx_roles-ansible.version'
|
Loading…
Reference in a new issue