1
1
Fork 0
mirror of https://github.com/roles-ansible/ansible_role_gitea.git synced 2024-08-16 11:39:50 +02:00

add optional versionscheck

a simple version check that can prevent you from accidentally running an older version of this role.
This commit is contained in:
L3D 2021-03-22 02:22:22 +01:00
parent cb90678b74
commit 791ae23361
Signed by: l3d
GPG key ID: CD08445BFF4313D1
5 changed files with 55 additions and 0 deletions

View file

@ -64,6 +64,7 @@ Here is a deeper insight into the variables of this gitea role. For the exact fu
| `gitea_gpg_server` | `hkp://keyserver.ubuntu.com:80` | A gpg key server where this role can download the gpg key | | `gitea_gpg_server` | `hkp://keyserver.ubuntu.com:80` | A gpg key server where this role can download the gpg key |
| `gitea_backup_on_upgrade` | `false` | Optionally a backup can be created with every update of gitea. | | `gitea_backup_on_upgrade` | `false` | Optionally a backup can be created with every update of gitea. |
| `gitea_backup_location` | `{{ gitea_home }}/backups/` | Where to store the gitea backup if one is created with this role. | | `gitea_backup_location` | `{{ gitea_home }}/backups/` | Where to store the gitea backup if one is created with this role. |
| `submodules_versioncheck` | `false` | a simple version check that can prevent you from accidentally running an older version of this role. *(recomended)* |
### gitea in the linux world ### gitea in the linux world
| variable name | default value | description | | variable name | default value | description |

View file

@ -7,6 +7,7 @@ gitea_gpg_key: '7C9E68152594688862D62AF62D9AE806EC1592E2'
gitea_gpg_server: 'hkp://keyserver.ubuntu.com:80' gitea_gpg_server: 'hkp://keyserver.ubuntu.com:80'
gitea_backup_on_upgrade: false gitea_backup_on_upgrade: false
gitea_backup_location: "{{ gitea_home }}/backups/" gitea_backup_location: "{{ gitea_home }}/backups/"
submodules_versioncheck: false
# gitea in the linux world # gitea in the linux world
gitea_group: 'gitea' gitea_group: 'gitea'

View file

@ -1,4 +1,8 @@
--- ---
- name: perform optional versionscheck
ansible.builtin.include_tasks: versioncheck.yml
when: submodules_versioncheck|bool
- name: Gather variables for each operating system - name: Gather variables for each operating system
include_vars: "{{ item }}" include_vars: "{{ item }}"
with_first_found: with_first_found:

46
tasks/versioncheck.yml Normal file
View file

@ -0,0 +1,46 @@
---
- name: Create directory for versionscheck
become: true
ansible.builtin.file:
path: '/etc/.ansible-version'
state: directory
mode: 0755
when: submodules_versioncheck|bool
- name: check playbook version
become: true
ansible.builtin.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
ansible.builtin.debug:
msg: "Remote role version: {{ playbook_version.content | default('Y3VycmVudGx5IG5vdCBkZXBsb3llZAo=') | b64decode | string }}"
when: submodules_versioncheck|bool
- name: Print locale role version
ansible.builtin.debug:
msg: "Local role version: '{{ playbook_version_number|string }}'."
when: submodules_versioncheck|bool
- name: Check if your version is outdated
ansible.builtin.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
ansible.builtin.find:
paths: '/etc/ansible-version/'
register: filesFound
- name: write new version to remote disk
become: true
ansible.builtin.copy:
content: "{{ playbook_version_number }}"
dest: "/etc/.ansible-version/{{ playbook_version_path }}"
mode: '0644'
when: submodules_versioncheck|bool

View file

@ -8,3 +8,6 @@ gitea_go_arch_map:
armv5l: 'arm-5' armv5l: 'arm-5'
gitea_arch: "{{ gitea_go_arch_map[ansible_architecture] | default(ansible_architecture) }}" gitea_arch: "{{ gitea_go_arch_map[ansible_architecture] | default(ansible_architecture) }}"
playbook_version_number: 5 # should be int
playbook_version_path: 'do1jlr.gitea.version'