fix in gitea action
Some checks failed
odoo-backup-restore / run-odoo-backup-in-docker (push) Failing after 3s

This commit is contained in:
gitea 2025-04-10 17:00:18 +00:00
parent 0d84c55c80
commit 449d55ce1e

View File

@ -6,21 +6,20 @@ on:
branches: branches:
- 13.0_dev - 13.0_dev
env: env:
URL_BACKUP: https://odoo.lan.hobbyhimmel.de URL_BACKUP: https://odoo.lan.hobbyhimmel.de
URL_RESTORE: http://hobbybackend2.fritz.box:9013 URL_RESTORE: http://hobbybackend2.fritz.box:9013
jobs: jobs:
run-odoo-backup-in-docker: run-odoo-backup-in-docker:
runs-on: ["hobbybackend2","ubuntu-latest"] # Gibt an, dass der Job entweder auf 'hobbybackend1' und 'ubuntu-latest' läuft. runs-on: ["hobbybackend2", "ubuntu-latest"] # Gibt an, dass der Job entweder auf 'hobbybackend1' und 'ubuntu-latest' läuft.
steps: steps:
- name: Checkout the repository - name: Checkout the repository
# Dieser Schritt holt den Code des Repositories in die Action-Umgebung. # Dieser Schritt holt den Code des Repositories in die Action-Umgebung.
# Dies ist notwendig, um auf Dateien im Repository wie Skripte oder Konfigurationen zugreifen zu können. # Dies ist notwendig, um auf Dateien im Repository wie Skripte oder Konfigurationen zugreifen zu können.
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Load environment variables from .env - name: Load environment variables from .env
run: | run: |
set -a set -a
@ -40,7 +39,7 @@ jobs:
run: | run: |
docker run -d --name ${{ github.workflow }} ubuntu:latest tail -f /dev/null docker run -d --name ${{ github.workflow }} ubuntu:latest tail -f /dev/null
docker exec ${{ github.workflow }} apt-get update docker exec ${{ github.workflow }} apt-get update
docker exec ${{ github.workflow }} apt-get install -y gnupg openssh-client curl sshpass docker exec ${{ github.workflow }} apt-get install -y gnupg openssh-client curl sshpass
- name: Copy SSH keys to the container - name: Copy SSH keys to the container
# In diesem Schritt werden SSH-Schlüssel aus den GitHub Secrets in temporäre Dateien geschrieben. # In diesem Schritt werden SSH-Schlüssel aus den GitHub Secrets in temporäre Dateien geschrieben.
@ -52,7 +51,7 @@ jobs:
echo "${{ secrets.OPENSSH_PUBLIC_KEY }}" > ssh_public_key echo "${{ secrets.OPENSSH_PUBLIC_KEY }}" > ssh_public_key
docker cp ssh_private_key ${{ github.workflow }}:/root/.ssh/id_rsa docker cp ssh_private_key ${{ github.workflow }}:/root/.ssh/id_rsa
docker cp ssh_public_key ${{ github.workflow }}:/root/.ssh/id_rsa.pub docker cp ssh_public_key ${{ github.workflow }}:/root/.ssh/id_rsa.pub
docker exec ${{ github.workflow }} chmod 600 /root/.ssh/id_rsa docker exec ${{ github.workflow }} chmod 600 /root/.ssh/id_rsa
- name: Copy PGP keys to the container - name: Copy PGP keys to the container
# Hier werden die GPG-Schlüssel (PGP-Schlüssel) in den Container kopiert, um Backups verschlüsseln zu können. # Hier werden die GPG-Schlüssel (PGP-Schlüssel) in den Container kopiert, um Backups verschlüsseln zu können.
@ -65,7 +64,7 @@ jobs:
docker cp pgp_public_key.asc ${{ github.workflow }}:/root/pgp_public_key.asc docker cp pgp_public_key.asc ${{ github.workflow }}:/root/pgp_public_key.asc
docker exec ${{ github.workflow }} gpg --batch --import /root/pgp_private_key.asc docker exec ${{ github.workflow }} gpg --batch --import /root/pgp_private_key.asc
docker exec ${{ github.workflow }} gpg --import /root/pgp_public_key.asc docker exec ${{ github.workflow }} gpg --import /root/pgp_public_key.asc
rm pgp_private_key.asc pgp_public_key.asc rm pgp_private_key.asc pgp_public_key.asc
- name: Add Host to Known Hosts - name: Add Host to Known Hosts
# In diesem Schritt wird der SSH-Host-Schlüssel des Remote-Servers (ALL_INKL_HOST) zum "known_hosts"-File # In diesem Schritt wird der SSH-Host-Schlüssel des Remote-Servers (ALL_INKL_HOST) zum "known_hosts"-File
@ -75,7 +74,7 @@ jobs:
echo "This is the host: ${{ secrets.ALL_INKL_HOST }}" echo "This is the host: ${{ secrets.ALL_INKL_HOST }}"
docker exec ${{ github.workflow }} bash -c "mkdir -p /root/.ssh && touch /root/.ssh/known_hosts && chmod 600 /root/.ssh/known_hosts" docker exec ${{ github.workflow }} bash -c "mkdir -p /root/.ssh && touch /root/.ssh/known_hosts && chmod 600 /root/.ssh/known_hosts"
docker exec ${{ github.workflow }} bash -c "ssh-keyscan -H '${{ secrets.ALL_INKL_HOST }}' >> /root/.ssh/known_hosts" docker exec ${{ github.workflow }} bash -c "ssh-keyscan -H '${{ secrets.ALL_INKL_HOST }}' >> /root/.ssh/known_hosts"
docker exec ${{ github.workflow }} bash -c "cat /root/.ssh/known_hosts" # Optional: Ausgabe zur Überprüfung docker exec ${{ github.workflow }} bash -c "cat /root/.ssh/known_hosts"
- name: Run the restore script in Docker container - name: Run the restore script in Docker container
# In diesem Schritt wird das Skript `odoo-restore.sh` in den Container kopiert und dort ausgeführt. # In diesem Schritt wird das Skript `odoo-restore.sh` in den Container kopiert und dort ausgeführt.
@ -89,22 +88,23 @@ jobs:
-e sftp_host=${{ secrets.SFTP_HOST }} \ -e sftp_host=${{ secrets.SFTP_HOST }} \
-e sftp_user=${{ secrets.SFTP_USER }} \ -e sftp_user=${{ secrets.SFTP_USER }} \
-e sftp_password=${{ secrets.SFTP_PASSWD }} \ -e sftp_password=${{ secrets.SFTP_PASSWD }} \
${{ github.workflow }} /bin/bash -c "bash /root/odoo-restore.sh '${{ env.URL_RESTORE }}'" ${{ github.workflow }} /bin/bash -c "bash /root/odoo-restore.sh '${{ env.URL_RESTORE }}'"
- name: Uninstall vvow_pos - name: Uninstall vvow_pos
# TODO: In diesem Schritt wird das Modul `vvow_pos` deinstalliert, um sicherzustellen, dass es keine Konflikte mit der neuen Datenbank gibt. run: |
# Dies geschieht durch den Aufruf des Odoo-CLI-Befehls `odoo-bin` mit den entsprechenden Parametern. docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c "
# Der Befehl wird im Docker-Container ausgeführt cd /home/odoo/custom_addons/open_workshop/scripts && \
/opt/odoo/odoo/odoo-bin shell -d ${{ env.DB_NAME}} < uninstall_vvow_pos.py"
- name: Clone or update custom_addons open_workshop repository - name: Clone or update custom_addons open_workshop repository
working-directory: .
run: | run: |
docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c " docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c "
git config --global pull.ff only && \ git config --global pull.ff only && \
if [ ! -d /home/odoo/custom_addons/open_workshop ]; then if [ ! -d /home/odoo/custom_addons/open_workshop ]; then
git clone https://gitea:${{ secrets.BUILD_ACTION }}@gitea.lan.hobbyhimmel.de/hobbyhimmel/open_workshop.git /home/odoo/custom_addons/open_workshop; git clone https://gitea:${{ secrets.BUILD_ACTION }}@gitea.lan.hobbyhimmel.de/hobbyhimmel/open_workshop.git /home/odoo/custom_addons/open_workshop;
cd /home/odoo/custom_addons/open_workshop && git fetch && git checkout ${{ env.ODOO_VERSION }}_dev && git pull; fi && \
else cd /home/odoo/custom_addons/open_workshop && \
cd /home/odoo/custom_addons/open_workshop && git fetch && git checkout ${{ env.ODOO_VERSION }}_dev && git pull; git fetch && git checkout ${{ env.ODOO_VERSION }}_dev && git pull"
fi"
- name: Fix Database hobbyhimmel with fix_missing_pos_partner.py - name: Fix Database hobbyhimmel with fix_missing_pos_partner.py
# In diesem Schritt wird das Skript `fix_missing_pos_partner.py` ausgeführt, um sicherzustellen, dass alle Partner in der Datenbank korrekt sind. # In diesem Schritt wird das Skript `fix_missing_pos_partner.py` ausgeführt, um sicherzustellen, dass alle Partner in der Datenbank korrekt sind.
@ -113,28 +113,23 @@ jobs:
cd /home/odoo/custom_addons/open_workshop/scripts && \ cd /home/odoo/custom_addons/open_workshop/scripts && \
/opt/odoo/odoo/odoo-bin shell -d ${{ env.DB_NAME}} < fix_missing_pos_partner.py" /opt/odoo/odoo/odoo-bin shell -d ${{ env.DB_NAME}} < fix_missing_pos_partner.py"
- name: Uninstall vvow_pos
docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c "
cd /home/odoo/custom_addons/open_workshop/scripts && \
/opt/odoo/odoo/odoo-bin shell -d ${{ env.DB_NAME}} < uninstall_vvow_pos.py"
- name: Install open_workshop - name: Install open_workshop
# Install open_workshop and run necessary migrations # Install open_workshop and run necessary migrations
run: | run: |
docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c " docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c "
/opt/odoo/odoo/odoo-bin -d ${{ env.DB_NAME}} -i open_workshop --stop-after-init &&\ /opt/odoo/odoo/odoo-bin -d ${{ env.DB_NAME}} -i open_workshop --stop-after-init"
docker restart hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }}"" docker restart hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }}
- name: Uninstall vvow_einweisungen - name: Uninstall vvow_einweisungen
run: | run: |
docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c " docker exec hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }} /bin/bash -c "
cd /home/odoo/custom_addons/open_workshop/scripts && \ cd /home/odoo/custom_addons/open_workshop/scripts && \
/opt/odoo/odoo/odoo-bin shell -d ${{ env.DB_NAME}} < uninstall_vvow_einwweisungen.py &&\ /opt/odoo/odoo/odoo-bin shell -d ${{ env.DB_NAME}} < uninstall_vvow_einweisungen.py"
docker restart hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }}" docker restart hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }}
- name: Stop and remove Docker container - name: Stop and remove Docker container
# Nachdem das Backup abgeschlossen ist, wird der Docker-Container gestoppt und entfernt, # Nachdem das Backup abgeschlossen ist, wird der Docker-Container gestoppt und entfernt,
# um keine Ressourcen auf dem Host unnötig zu verbrauchen. # um keine Ressourcen auf dem Host unnötig zu verbrauchen.
run: | run: |
docker stop ${{ github.workflow }} docker stop ${{ github.workflow }}
docker rm ${{ github.workflow }} docker rm ${{ github.workflow }}