modify backup on upgrade (#81)
* create backup direcotry create a backup folder and move the gitea backup to backup.yml * make the backup on update optional Documentation and introduction of the variable `gitea_backup_on_upgrade: false` * change become_method to sudo change become_method to sudo as suggested by @wzzrd. removed become_flags. * Full path to gitea binary in backup task. thanks to @wzzrd
This commit is contained in:
parent
8b71e3f137
commit
71ea49b7ac
5 changed files with 43 additions and 23 deletions
|
@ -162,6 +162,10 @@ As this will only deploy config files, fail2ban already has to be installed or o
|
|||
* `gitea_repo_exclude_vendored`: Exclude vendored files from the index. Default: `true`
|
||||
* `gitea_repo_indexer_max_file_size`: Maximum size of files to be indexed (in bytes). Default: `1048576` (1 MB)
|
||||
|
||||
### backup on upgrade
|
||||
* `gitea_backup_on_upgrade`: Optionally a backup can be created with every update of gitea. Default: `false`
|
||||
* `gitea_backup_location`: Where to store the gitea backup if one is created with this role. Default: `{{ gitea_home }}/backups/`
|
||||
|
||||
## Contributing
|
||||
Don't hesitate to create a pull request, and when in doubt you can reach me on
|
||||
Twitter [@thomas_maurice](https://twitter.com/thomas_maurice).
|
||||
|
|
|
@ -88,3 +88,6 @@ gitea_repo_indexer_max_file_size: 1048576
|
|||
gitea_log_level: Info
|
||||
|
||||
gitea_extra_config: ""
|
||||
|
||||
gitea_backup_on_upgrade: false
|
||||
gitea_backup_location: "{{ gitea_home }}/backups/"
|
||||
|
|
30
tasks/backup.yml
Normal file
30
tasks/backup.yml
Normal file
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
- name: Get service facts
|
||||
service_facts:
|
||||
|
||||
- block:
|
||||
- name: Stopping gitea before upgrade
|
||||
service:
|
||||
name: gitea
|
||||
state: stopped
|
||||
|
||||
- name: "Create backup directory"
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ gitea_user }}"
|
||||
group: "{{ gitea_group }}"
|
||||
mode: 'u=rwx,g=rx,o='
|
||||
with_items:
|
||||
- "{{ gitea_backup_location }}"
|
||||
|
||||
- name: Backing up gitea before upgrade
|
||||
command:
|
||||
cmd: "/usr/local/bin/gitea dump -c /etc/gitea/gitea.ini"
|
||||
chdir: "{{ gitea_backup_location }}"
|
||||
become: true
|
||||
become_user: "{{ gitea_user }}"
|
||||
when:
|
||||
- ansible_facts.services["gitea.service"] is defined
|
||||
- ansible_facts.services["gitea.service"].state == "running"
|
||||
- gitea_active_version.stdout != gitea_version
|
|
@ -18,28 +18,6 @@
|
|||
retries: 5
|
||||
delay: 2
|
||||
|
||||
- name: Get service facts
|
||||
service_facts:
|
||||
|
||||
- block:
|
||||
- name: Stopping gitea before upgrade
|
||||
service:
|
||||
name: gitea
|
||||
state: stopped
|
||||
|
||||
- name: Backing up gitea before upgrade
|
||||
command:
|
||||
cmd: "gitea dump -c /etc/gitea/gitea.ini"
|
||||
chdir: /var/backups/
|
||||
become: true
|
||||
become_method: su
|
||||
become_user: "{{ gitea_user }}"
|
||||
become_flags: "-s /bin/sh"
|
||||
when:
|
||||
- ansible_facts.services["gitea.service"] is defined
|
||||
- ansible_facts.services["gitea.service"].state == "running"
|
||||
- gitea_active_version.stdout != gitea_version
|
||||
|
||||
- block:
|
||||
- name: Download gitea archive
|
||||
get_url:
|
||||
|
|
|
@ -17,7 +17,12 @@
|
|||
failed_when: false
|
||||
when: gitea_version_check|bool
|
||||
|
||||
- include: install.yml
|
||||
- name: backup gitea before update
|
||||
include_tasks: backup.yml
|
||||
when: gitea_backup_on_upgrade|bool
|
||||
|
||||
- name: install or update gitea
|
||||
include_tasks: install.yml
|
||||
|
||||
- include: create_user.yml
|
||||
|
||||
|
|
Loading…
Reference in a new issue