chore: lots of changes
This commit is contained in:
40
ansible/playbooks/check.yml
Normal file
40
ansible/playbooks/check.yml
Normal file
@@ -0,0 +1,40 @@
|
||||
#- name: Check ob /ping erreichbar ist
|
||||
# uri:
|
||||
# url: "http://localhost/ping"
|
||||
# status_code: 200
|
||||
# return_content: yes
|
||||
# register: ping_response
|
||||
#
|
||||
#- debug:
|
||||
# var: ping_response.content
|
||||
|
||||
- name: Healthcheck nach dem Deployment
|
||||
hosts: localhost
|
||||
connection: local
|
||||
gather_facts: false
|
||||
become: false
|
||||
|
||||
vars:
|
||||
healthcheck_url: "http://127.0.0.1:8080/ping"
|
||||
max_retries: 10
|
||||
delay_between_retries: 3
|
||||
|
||||
tasks:
|
||||
- name: Warte, bis der Webserver erreichbar ist
|
||||
uri:
|
||||
url: "{{ healthcheck_url }}"
|
||||
status_code: 200
|
||||
return_content: yes
|
||||
register: healthcheck_response
|
||||
retries: "{{ max_retries }}"
|
||||
delay: "{{ delay_between_retries }}"
|
||||
until: >
|
||||
healthcheck_response is defined and
|
||||
healthcheck_response.status is defined and
|
||||
healthcheck_response.status == 200
|
||||
failed_when: healthcheck_response.status != 200
|
||||
ignore_errors: false
|
||||
|
||||
- name: Ausgabe des Healthcheck-Resultats
|
||||
debug:
|
||||
msg: "Healthcheck erfolgreich: {{ healthcheck_response.content }}"
|
||||
24
ansible/playbooks/deploy.yml
Normal file
24
ansible/playbooks/deploy.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
- name: Deployment in jeweilige Umgebung
|
||||
hosts: all
|
||||
become: true
|
||||
gather_facts: false
|
||||
|
||||
vars:
|
||||
docker_compose_project_path: "/var/www/michaelschiemer/"
|
||||
env_file_path: "/var/www/michaelschiemer/.env"
|
||||
|
||||
deploy_root: /var/www/michaelschiemer
|
||||
deploy_public: "{{ deploy_root }}/public"
|
||||
deploy_user: deploy
|
||||
|
||||
|
||||
app_domain: "example.com" # Passe ggf. an
|
||||
project_root: "{{ playbook_dir }}/../.."
|
||||
|
||||
|
||||
roles:
|
||||
- app
|
||||
- nginx
|
||||
- php
|
||||
- redis
|
||||
|
||||
26
ansible/playbooks/deploy/dev.yml
Normal file
26
ansible/playbooks/deploy/dev.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
- name: Deployment für DEV (localhost)
|
||||
hosts: localhost
|
||||
become: true
|
||||
gather_facts: false
|
||||
|
||||
vars:
|
||||
docker_compose_project_path: "/home/michael/dev/michaelschiemer"
|
||||
env_file_path: "/var/www/michaelschiemer/.env"
|
||||
|
||||
deploy_root: /var/www/michaelschiemer
|
||||
deploy_public: "{{ deploy_root }}/public"
|
||||
deploy_user: deploy
|
||||
|
||||
app_domain: "localhost" # Passe ggf. an
|
||||
project_root: "/home/michael/dev/michaelschiemer"
|
||||
|
||||
|
||||
roles:
|
||||
#- app
|
||||
- nginx
|
||||
- php
|
||||
- redis
|
||||
|
||||
tasks:
|
||||
- name: Common Deployment Tasks
|
||||
import_tasks: ../deploy/includes/deploy_common.yml
|
||||
29
ansible/playbooks/deploy/includes/deploy_common.yml
Normal file
29
ansible/playbooks/deploy/includes/deploy_common.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
- name: Docker Compose Files & Konfigurationen synchronisieren
|
||||
ansible.builtin.copy:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ docker_compose_project_path }}/{{ item.dest }}"
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
loop:
|
||||
- { src: '{{ project_root }}/docker-compose.yml', dest: 'docker-compose.yml' }
|
||||
- { src: '{{ project_root }}/.env', dest: '.env' }
|
||||
# Weitere Konfigdateien nach Bedarf (z.B. nginx.conf, redis.conf, ...)
|
||||
- { src: '{{ project_root }}/docker/nginx/nginx.conf', dest: 'nginx.conf' }
|
||||
|
||||
- name: "Docker Compose: Container hochfahren (Build & Start)"
|
||||
ansible.builtin.command: |
|
||||
docker-compose -f {{ docker_compose_project_path }}/docker-compose.yml up -d --build
|
||||
args:
|
||||
chdir: "{{ docker_compose_project_path }}"
|
||||
|
||||
- name: Status prüfen
|
||||
ansible.builtin.command: |
|
||||
docker-compose -f {{ docker_compose_project_path }}/docker-compose.yml ps
|
||||
args:
|
||||
chdir: "{{ docker_compose_project_path }}"
|
||||
register: compose_ps
|
||||
|
||||
- name: Ergebnis anzeigen
|
||||
ansible.builtin.debug:
|
||||
var: compose_ps.stdout_lines
|
||||
23
ansible/playbooks/deploy/production.yml
Normal file
23
ansible/playbooks/deploy/production.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
- name: Deployment für PRODUCTION
|
||||
hosts: production
|
||||
become: true
|
||||
gather_facts: false
|
||||
|
||||
vars:
|
||||
docker_compose_project_path: "/var/www/www.michaelschiemer.de/"
|
||||
env_file_path: "/var/www/www.michaelschiemer.de/.env"
|
||||
deploy_root: /var/www/www.michaelschiemer.de
|
||||
deploy_public: "{{ deploy_root }}/public"
|
||||
deploy_user: deploy
|
||||
app_domain: "michaelschiemer.de"
|
||||
project_root: "{{ playbook_dir }}/../.."
|
||||
|
||||
roles:
|
||||
- app
|
||||
- nginx
|
||||
- php
|
||||
- redis
|
||||
|
||||
tasks:
|
||||
- name: Common Deployment Tasks
|
||||
import_tasks: ../deploy/includes/deploy_common.yml
|
||||
23
ansible/playbooks/deploy/staging.yml
Normal file
23
ansible/playbooks/deploy/staging.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
- name: Deployment für STAGING
|
||||
hosts: staging
|
||||
become: true
|
||||
gather_facts: false
|
||||
|
||||
vars:
|
||||
docker_compose_project_path: "/var/www/stage.michaelschiemer/"
|
||||
env_file_path: "/var/www/stage.michaelschiemer/.env"
|
||||
deploy_root: /var/www/stage.michaelschiemer
|
||||
deploy_public: "{{ deploy_root }}/public"
|
||||
deploy_user: deploy
|
||||
app_domain: "stage.example.com"
|
||||
project_root: "{{ playbook_dir }}/../.."
|
||||
|
||||
roles:
|
||||
- app
|
||||
- nginx
|
||||
- php
|
||||
- redis
|
||||
|
||||
tasks:
|
||||
- name: Common Deployment Tasks
|
||||
import_tasks: ../deploy/includes/deploy_common.yml
|
||||
11
ansible/playbooks/setup.yml
Normal file
11
ansible/playbooks/setup.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
- name: Basis Setup für alle Zielsysteme
|
||||
hosts: all
|
||||
become: true
|
||||
#gather_facts: true
|
||||
|
||||
roles:
|
||||
#- common
|
||||
- docker
|
||||
#- webserver
|
||||
#- app
|
||||
6
ansible/playbooks/test.yml
Normal file
6
ansible/playbooks/test.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
- hosts: web
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
roles:
|
||||
- console
|
||||
7
ansible/playbooks/wireguard.yml
Normal file
7
ansible/playbooks/wireguard.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
# ansible/wireguard.yml
|
||||
- hosts: vpn
|
||||
become: false
|
||||
gather_facts: false
|
||||
|
||||
roles:
|
||||
- wireguard
|
||||
Reference in New Issue
Block a user