feat: add backup cron
This commit is contained in:
parent
ee3401e419
commit
5a3175d750
5 changed files with 34 additions and 2 deletions
|
@ -10,6 +10,7 @@ Which is based on [Keep A Changelog](http://keepachangelog.com/)
|
||||||
- feat: add gitlab_data_dir variable
|
- feat: add gitlab_data_dir variable
|
||||||
- feat: add gitlab_pages_url variable
|
- feat: add gitlab_pages_url variable
|
||||||
- feat: add complex variables in config file
|
- feat: add complex variables in config file
|
||||||
|
- feat: add backup cron
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,12 @@ Install and configure a Gitlab server
|
||||||
backup_archive_permissions: 0644
|
backup_archive_permissions: 0644
|
||||||
```
|
```
|
||||||
|
|
||||||
|
- `gitlab_backup_cron_month` - set the month for the backup cron (default: `'*'`)
|
||||||
|
- `gitlab_backup_cron_weekday` - set the weekday for the backup cron (default: `'*'`)
|
||||||
|
- `gitlab_backup_cron_day` - set the day for the backup cron (default: `'*'`)
|
||||||
|
- `gitlab_backup_cron_hour` - set the hour for the backup cron (default: `2`)
|
||||||
|
- `gitlab_backup_cron_minute` - set the minute for the backup cron (default: `30`)
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
|
@ -2,3 +2,8 @@
|
||||||
gitlab_repository: 'deb https://packages.gitlab.com/gitlab/gitlab-ce/debian/ {{ ansible_distribution_release }} main'
|
gitlab_repository: 'deb https://packages.gitlab.com/gitlab/gitlab-ce/debian/ {{ ansible_distribution_release }} main'
|
||||||
gitlab_url: http://gitlab.example.com
|
gitlab_url: http://gitlab.example.com
|
||||||
gitlab_config: {}
|
gitlab_config: {}
|
||||||
|
gitlab_backup_cron_month: '*'
|
||||||
|
gitlab_backup_cron_weekday: '*'
|
||||||
|
gitlab_backup_cron_day: '*'
|
||||||
|
gitlab_backup_cron_hour: 2
|
||||||
|
gitlab_backup_cron_minute: 30
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import testinfra.utils.ansible_runner
|
import testinfra.utils.ansible_runner
|
||||||
|
|
||||||
def test_packages(host):
|
def test_packages(host):
|
||||||
package = host.package('gitlab-ce')
|
for package_name in ['cron', 'gitlab-ce']:
|
||||||
|
package = host.package(package_name)
|
||||||
assert package.is_installed
|
assert package.is_installed
|
||||||
|
|
||||||
def test_git_directory(host):
|
def test_git_directory(host):
|
||||||
|
@ -35,3 +36,9 @@ def test_grafana_down(host):
|
||||||
assert False
|
assert False
|
||||||
except:
|
except:
|
||||||
assert True
|
assert True
|
||||||
|
|
||||||
|
def test_cron_file(host):
|
||||||
|
config = host.file('/var/spool/cron/crontabs/root')
|
||||||
|
assert config.exists
|
||||||
|
assert config.is_file
|
||||||
|
assert config.contains('30 2 \\* \\* \\* gitlab-backup create')
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
- name: install package
|
- name: install package
|
||||||
ansible.builtin.package:
|
ansible.builtin.package:
|
||||||
name:
|
name:
|
||||||
|
- cron
|
||||||
- gitlab-ce
|
- gitlab-ce
|
||||||
tags: gitlab
|
tags: gitlab
|
||||||
|
|
||||||
|
@ -37,3 +38,15 @@
|
||||||
state: started
|
state: started
|
||||||
enabled: true
|
enabled: true
|
||||||
tags: gitlab
|
tags: gitlab
|
||||||
|
|
||||||
|
- name: add backup cron
|
||||||
|
ansible.builtin.cron:
|
||||||
|
name: gitlab-backup
|
||||||
|
user: root
|
||||||
|
job: gitlab-backup create
|
||||||
|
month: '{{ gitlab_backup_cron_month|string }}'
|
||||||
|
weekday: '{{ gitlab_backup_cron_weekday|string }}'
|
||||||
|
day: '{{ gitlab_backup_cron_day|string }}'
|
||||||
|
hour: '{{ gitlab_backup_cron_hour|string }}'
|
||||||
|
minute: '{{ gitlab_backup_cron_minute|string }}'
|
||||||
|
tags: gitlab
|
||||||
|
|
Loading…
Reference in a new issue