update gitea action

This commit is contained in:
gitea 2025-04-10 16:56:02 +00:00
parent 3b35a56ca1
commit 0d84c55c80

View File

@ -4,8 +4,8 @@ on:
- cron: "21 5 * * *" # Dieser Job wird täglich um 05:21 Uhr UTC ausgeführt. - cron: "21 5 * * *" # Dieser Job wird täglich um 05:21 Uhr UTC ausgeführt.
push: push:
branches: branches:
- main - 13.0_dev
# workflow_dispatch:
env: env:
URL_BACKUP: https://odoo.lan.hobbyhimmel.de URL_BACKUP: https://odoo.lan.hobbyhimmel.de
@ -19,7 +19,19 @@ jobs:
- 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@v3 uses: actions/checkout@v4
- name: Load environment variables from .env
run: |
set -a
source .env
set +a
# Schreibe die Variablen in $GITHUB_ENV für die Verwendung in der YAML
while IFS= read -r line; do
if [[ ! -z "$line" && "$line" != \#* ]]; then
echo "$line" >> $GITHUB_ENV
fi
done < .env
- name: Set up Docker container - name: Set up Docker container
# Dieser Schritt startet einen Docker-Container basierend auf dem "ubuntu:latest" Image. # Dieser Schritt startet einen Docker-Container basierend auf dem "ubuntu:latest" Image.
@ -67,7 +79,7 @@ jobs:
- 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.
# Die für das Skript notwendigen Umgebungsvariablen (wie z.B. ... ) werden mitgegeben. # Die für das Skript notwendigen Umgebungsvariablen werden mitgegeben.
# Das Skript entpackt das Backup-Archiv. # Das Skript entpackt das Backup-Archiv.
# Das Skript löscht die bisherige Datenbank und fügt die neue Datenbank wieder ein. # Das Skript löscht die bisherige Datenbank und fügt die neue Datenbank wieder ein.
# Anschließend wird das Odoo filestore wiederhergestellt. # Anschließend wird das Odoo filestore wiederhergestellt.
@ -78,13 +90,14 @@ jobs:
-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
# In diesem Schritt wird das Modul `vvow_pos` deinstalliert, um sicherzustellen, dass es keine Konflikte mit der neuen Datenbank gibt. # TODO: In diesem Schritt wird das Modul `vvow_pos` deinstalliert, um sicherzustellen, dass es keine Konflikte mit der neuen Datenbank gibt.
# Dies geschieht durch den Aufruf des Odoo-CLI-Befehls `odoo-bin` mit den entsprechenden Parametern.
# Der Befehl wird im Docker-Container ausgeführt
- name: Clone or update custom_addons open_workshop repository - name: Clone or update custom_addons open_workshop repository
working-directory: . working-directory: .
run: | run: |
docker exec ${{ github.repository_owner }}_${{ env.CONTAINER_NAME }}_${{ 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;
@ -95,13 +108,29 @@ jobs:
- 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.
run: |
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}} < 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: |
-name: Restart Docker Container 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 &&\
docker restart hobbyhimmel_odoo_${{ env.CONTAINER_NAME_EXTENSION }}""
- name: Uninstall vvow_einweisungen - name: Uninstall vvow_einweisungen
run: |
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_einwweisungen.py &&\
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,