ci: setup CI/CD pipeline with Gitea Actions and secrets configuration
This commit is contained in:
53
deployment/ansible/playbooks/sync-stacks.yml
Normal file
53
deployment/ansible/playbooks/sync-stacks.yml
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
- name: Sync Infrastructure Stacks to Production Server
|
||||
hosts: production
|
||||
become: no
|
||||
gather_facts: yes
|
||||
|
||||
vars:
|
||||
local_stacks_path: "/home/michael/dev/michaelschiemer/deployment/stacks"
|
||||
remote_stacks_path: "~/deployment"
|
||||
|
||||
tasks:
|
||||
- name: Ensure deployment directory exists on production
|
||||
file:
|
||||
path: "{{ remote_stacks_path }}"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Sync stacks directory to production server
|
||||
synchronize:
|
||||
src: "{{ local_stacks_path }}"
|
||||
dest: "{{ remote_stacks_path }}/"
|
||||
delete: no
|
||||
recursive: yes
|
||||
rsync_opts:
|
||||
- "--chmod=D755,F644"
|
||||
- "--exclude=.git"
|
||||
- "--exclude=*.log"
|
||||
- "--exclude=data/"
|
||||
- "--exclude=volumes/"
|
||||
|
||||
- name: Ensure executable permissions on PostgreSQL backup scripts
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
mode: '0755'
|
||||
loop:
|
||||
- "{{ remote_stacks_path }}/stacks/postgresql/scripts/backup-entrypoint.sh"
|
||||
- "{{ remote_stacks_path }}/stacks/postgresql/scripts/backup.sh"
|
||||
- "{{ remote_stacks_path }}/stacks/postgresql/scripts/restore.sh"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Verify stacks directory exists on production
|
||||
stat:
|
||||
path: "{{ remote_stacks_path }}/stacks"
|
||||
register: stacks_dir
|
||||
|
||||
- name: Display sync results
|
||||
debug:
|
||||
msg:
|
||||
- "=== Stacks Synchronization Complete ==="
|
||||
- "Stacks directory exists: {{ stacks_dir.stat.exists }}"
|
||||
- "Path: {{ remote_stacks_path }}/stacks"
|
||||
- ""
|
||||
- "Next: Run infrastructure deployment playbook"
|
||||
Reference in New Issue
Block a user