fix in gitea action
Some checks failed
odoo-backup-restore / run-odoo-backup-in-docker (push) Failing after 3s
Some checks failed
odoo-backup-restore / run-odoo-backup-in-docker (push) Failing after 3s
This commit is contained in:
parent
0d84c55c80
commit
449d55ce1e
|
|
@ -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 }}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user