Files
michaelschiemer/.deployment-backup/ansible/netcup-simple-deploy/upload-only.yml
Michael Schiemer 9b74ade5b0 feat: Fix discovery system critical issues
Resolved multiple critical discovery system issues:

## Discovery System Fixes
- Fixed console commands not being discovered on first run
- Implemented fallback discovery for empty caches
- Added context-aware caching with separate cache keys
- Fixed object serialization preventing __PHP_Incomplete_Class

## Cache System Improvements
- Smart caching that only caches meaningful results
- Separate caches for different execution contexts (console, web, test)
- Proper array serialization/deserialization for cache compatibility
- Cache hit logging for debugging and monitoring

## Object Serialization Fixes
- Fixed DiscoveredAttribute serialization with proper string conversion
- Sanitized additional data to prevent object reference issues
- Added fallback for corrupted cache entries

## Performance & Reliability
- All 69 console commands properly discovered and cached
- 534 total discovery items successfully cached and restored
- No more __PHP_Incomplete_Class cache corruption
- Improved error handling and graceful fallbacks

## Testing & Quality
- Fixed code style issues across discovery components
- Enhanced logging for better debugging capabilities
- Improved cache validation and error recovery

Ready for production deployment with stable discovery system.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-13 12:04:17 +02:00

129 lines
3.7 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
# Nur Dateien-Upload ohne Infrastruktur-Setup
- name: Upload Files Only to Netcup VPS
hosts: all
become: yes
vars_files:
- inventory/group_vars.yml
tasks:
- name: Check if app directory exists
stat:
path: "{{ app_directory }}"
register: app_dir_exists
- name: Create app directory if it doesn't exist
file:
path: "{{ app_directory }}"
state: directory
mode: '0755'
when: not app_dir_exists.stat.exists
- name: Check if docker-compose.yml exists locally
local_action:
module: stat
path: "{{ local_app_path }}/docker-compose.yml"
register: local_compose_exists
become: no
- name: Show upload information
debug:
msg: |
📤 Uploading files...
- From: {{ local_app_path }}
- To: {{ app_directory }}
- Docker Compose available: {{ local_compose_exists.stat.exists }}
- name: Upload project files
synchronize:
src: "{{ local_app_path }}/"
dest: "{{ app_directory }}/"
delete: no
archive: yes
checksum: yes
rsync_opts:
- "--exclude=ansible"
- "--exclude=.git"
- "--exclude=vendor"
- "--exclude=node_modules"
- "--exclude=storage/logs"
- "--exclude=cache"
- "--exclude=logs"
- "--exclude=dist"
- "--exclude=.archive"
- "--exclude=x_ansible"
- "--exclude=.env"
- "--verbose"
register: sync_result
- name: Ensure proper permissions for directories
file:
path: "{{ item }}"
state: directory
mode: '0755'
recurse: yes
loop:
- "{{ app_directory }}/public"
- "{{ app_directory }}/src"
- "{{ app_directory }}/docker"
ignore_errors: yes
- name: Create storage directories if they don't exist
file:
path: "{{ app_directory }}/{{ item }}"
state: directory
mode: '0777'
loop:
- "storage/logs"
- "storage/cache"
- "cache"
- "logs"
ignore_errors: yes
- name: Check if .env exists on server
stat:
path: "{{ app_directory }}/.env"
register: server_env_exists
- name: Create environment file if it doesn't exist
template:
src: roles/webapp/templates/app.env.j2
dest: "{{ app_directory }}/.env"
when: not server_env_exists.stat.exists
register: env_created
- name: Show what was uploaded
debug:
msg: |
📂 Upload completed!
📁 Files synced: {{ 'Yes' if sync_result.changed else 'No changes detected' }}
📄 Environment file: {{ 'Created' if env_created.changed else 'Already exists' }}
📍 Files are now at: {{ app_directory }}
🔄 To restart the application, run:
cd {{ app_directory }}
docker compose down && docker compose up -d --build
or use: make restart (if Makefile is available)
- name: Check if containers are running (optional restart)
shell: "cd {{ app_directory }} && docker compose ps --format json"
register: container_status
ignore_errors: yes
changed_when: false
- name: Ask about restarting containers
debug:
msg: |
Current container status:
{{ container_status.stdout if container_status.stdout else 'No containers found or docker compose not available' }}
💡 Tip: If you want to restart the application with the new files, run:
ansible-playbook restart-app.yml
or manually:
ssh {{ ansible_host }} "cd {{ app_directory }} && docker compose restart"