Project Description
The deploy_odoo_mvs139.Jenkinsfile is a sophisticated Jenkins Pipeline designed for the automated deployment,
management, and upgrading of Odoo stacks using Docker and Ansible. It provides a highly configurable workflow that
handles environment initialization, custom addon synchronization, database backups, major version upgrades,
and data restoration from live environments to test environments.
Key features include:
- Dynamic Parameters: Uses Active Choices to fetch real-time data from Gitea and Nexus.
- Hybrid Deployment: Supports both simple addon synchronization and full container rebuilds.
- Automated Upgrades: Handles Odoo major version upgrades including database migrations.
- Environment Isolation: Clearly distinguishes between 'test' and 'prod' environments with specific safety checks.
- Notifications: Sends deployment status updates to kChat.
User Manual
Pipeline Parameters
| Parameter | Description |
|---|---|
ReconfigureParameters |
Used to reseed job parameters. Tick this if you want to update the UI configuration without running a full deployment. |
Full_DNS_record |
The target host for deployment (e.g., flow-test.dutchworld.nl). |
Rebuild_containers |
If checked, the Odoo containers will be rebuilt using the latest enterprise apps. If unchecked, only custom addons are synced. |
customBranch |
Dynamically fetched branch list from the customizations repository in Gitea. |
odooDeployVersion |
Dynamically fetched list of container tags (releases) from Nexus for the target Odoo version. |
restoreFromLive |
(Test environment only) If checked, restores the database and filestore from the live server. |
newTestDbName |
Optional suffix for the test database name. |
ansibleDebug |
Runs Ansible playbooks with high verbosity (-vvv) for troubleshooting. |
Deployment Workflow
- Initialization: The pipeline reads
host_varsfrom theansiblerepository to configure environment variables. - Syncing Addons: If
Rebuild_containersis false, the pipeline clones the custom addons repository and syncs them to the target host. - Pre-Upgrade Actions:
- On Test: Automatically restores data from Live if requested.
- On Prod: Takes a full backup (DB + Filestore) before proceeding.
- Stack Deployment: Deploys the Odoo container stack using the specified version tag.
- Major Upgrade: If
upgrade_statusis true inhost_vars, it triggers the Odoo database upgrade process. - Post-Deployment: Finalizes the upgrade status in Gitea and sends notifications.
Handleiding
Pipeline Parameters
| Parameter | Omschrijving |
|---|---|
ReconfigureParameters |
Wordt gebruikt om jobparameters opnieuw in te stellen. Vink dit aan als je de UI-configuratie wilt bijwerken zonder een volledige deployment uit te voeren. |
Full_DNS_record |
De doelhost voor deployment (bijv. flow-test.dutchworld.nl). |
Rebuild_containers |
Als aangevinkt, worden de Odoo-containers opnieuw opgebouwd met de nieuwste enterprise apps. Als niet aangevinkt, worden alleen custom addons gesynchroniseerd. |
customBranch |
Dynamisch opgehaalde branchlijst uit het customizations repository in Gitea. |
odooDeployVersion |
Dynamisch opgehaalde lijst van container tags (releases) uit Nexus voor de doel-Odoo-versie. |
restoreFromLive |
(Alleen testomgeving) Als aangevinkt, wordt de database en filestore hersteld van de live server. |
newTestDbName |
Optionele suffix voor de testdatabasenaam. |
ansibleDebug |
Voert Ansible playbooks uit met hoge verbosity (-vvv) voor troubleshooting. |
Deployment Workflow
- Initialisatie: De pipeline leest
host_varsuit hetansiblerepository om omgevingsvariabelen te configureren. - Synchronisatie Addons: Als
Rebuild_containersfalse is, kloont de pipeline het custom addons repository en synchroniseert deze naar de doelhost. - Pre-Upgrade Acties:
- Op Test: Herstelt automatisch data van Live als gevraagd.
- Op Prod: Maakt een volledige backup (DB + Filestore) voor de upgrade.
- Stack Deployment: Deployt de Odoo container stack met het opgegeven versie tag.
- Major Upgrade: Als
upgrade_statustrue is inhost_vars, wordt het Odoo database upgrade proces gestart. - Post-Deployment: Finaliseert de upgrade status in Gitea en verstuurt notificaties.
Opis projektu
deploy_odoo_mvs139.Jenkinsfile to zaawansowany Pipeline Jenkins zaprojektowany do automatycznego wdrażania,
zarządzania i aktualizacji stosów Odoo za pomocą Docker i Ansible. Zapewnia wysoko konfigurowalny przepływ pracy, który
obsługuje inicjalizację środowiska, synchronizację niestandardowych dodatków, kopie zapasowe baz danych, aktualizacje głównych wersji
oraz przywracanie danych ze środowisk produkcyjnych do testowych.
Kluczowe funkcje obejmują:
- Dynamiczne parametry: Wykorzystuje Active Choices do pobierania danych w czasie rzeczywistym z Gitea i Nexus.
- Hybrydowe wdrażanie: Obsługuje zarówno prostą synchronizację dodatków, jak i pełne przebudowy kontenerów.
- Zautomatyzowane aktualizacje: Obsługuje główne aktualizacje wersji Odoo, w tym migracje baz danych.
- Izolacja środowiska: Wyraźnie rozróżnia środowiska „test” i „prod” z określonymi kontrolami bezpieczeństwa.
- Powiadomienia: Wysyła aktualizacje statusu wdrożenia do kChat.
Instrukcja użytkownika
Parametry Pipeline
| Parametr | Opis |
|---|---|
ReconfigureParameters |
Używany do ponownego zainicjowania parametrów zadania. Zaznacz, jeśli chcesz zaktualizować konfigurację UI bez pełnego wdrożenia. |
Full_DNS_record |
Docelowy host do wdrożenia (np. flow-test.dutchworld.nl). |
Rebuild_containers |
Jeśli zaznaczone, kontenery Odoo zostaną przebudowane z użyciem najnowszych aplikacji enterprise. Jeśli nie, synchronizowane są tylko niestandardowe dodatki. |
customBranch |
Dynamically pobierana lista gałęzi z repozytorium personalizacji w Gitea. |
odooDeployVersion |
Dynamically pobierana lista tagów kontenerów (wydań) z Nexus dla docelowej wersji Odoo. |
restoreFromLive |
(Tylko środowisko testowe) Jeśli zaznaczone, przywraca bazę danych i filestore z serwera produkcyjnego. |
newTestDbName |
Opcjonalny sufiks nazwy bazy testowej. |
ansibleDebug |
Uruchamia playbooki Ansible z wysoką szczegółowością (-vvv) w celu rozwiązywania problemów. |
Proces wdrażania
- Inicjalizacja: Pipeline odczytuje
host_varsz repozytoriumansible, aby skonfigurować zmienne środowiskowe. - Synchronizacja dodatków: Jeśli
Rebuild_containersjest ustawione na false, pipeline klonuje repozytorium niestandardowych dodatków i synchronizuje je na docelowym hoście. - Przedaktualizacyjne działania:
- W środowisku testowym: Automatycznie przywraca dane z produkcji, jeśli jest to wymagane.
- W środowisku produkcyjnym: Tworzy pełną kopię zapasową (baza danych + filestore) przed kontynuacją.
- Wdrażanie stosu: Wdraża stos kontenerów Odoo z użyciem określonego tagu wersji.
- Główna aktualizacja: Jeśli
upgrade_statusjest ustawiony na true whost_vars, uruchamia proces aktualizacji bazy danych Odoo. - Po wdrożeniu: Finalizuje status aktualizacji w Gitea i wysyła powiadomienia.
Project Description
The deploy_odoo_mvs139.Jenkinsfile is a sophisticated Jenkins Pipeline designed for the automated deployment,
management, and upgrading of Odoo stacks using Docker and Ansible. It provides a highly configurable workflow that
handles environment initialization, custom addon synchronization, database backups, major version upgrades,
and data restoration from live environments to test environments.
Key features include:
- Dynamic Parameters: Uses Active Choices to fetch real-time data from Gitea and Nexus.
- Hybrid Deployment: Supports both simple addon synchronization and full container rebuilds.
- Automated Upgrades: Handles Odoo major version upgrades including database migrations.
- Environment Isolation: Clearly distinguishes between 'test' and 'prod' environments with specific safety checks.
- Notifications: Sends deployment status updates to kChat.
User Manual
Pipeline Parameters
| Parameter | Description |
|---|---|
ReconfigureParameters |
Used to reseed job parameters. Tick this if you want to update the UI configuration without running a full deployment. |
Full_DNS_record |
The target host for deployment (e.g., flow-test.dutchworld.nl). |
Rebuild_containers |
If checked, the Odoo containers will be rebuilt using the latest enterprise apps. If unchecked, only custom addons are synced. |
customBranch |
Dynamically fetched branch list from the customizations repository in Gitea. |
odooDeployVersion |
Dynamically fetched list of container tags (releases) from Nexus for the target Odoo version. |
restoreFromLive |
(Test environment only) If checked, restores the database and filestore from the live server. |
newTestDbName |
Optional suffix for the test database name. |
ansibleDebug |
Runs Ansible playbooks with high verbosity (-vvv) for troubleshooting. |
Deployment Workflow
- Initialization: The pipeline reads
host_varsfrom theansiblerepository to configure environment variables. - Syncing Addons: If
Rebuild_containersis false, the pipeline clones the custom addons repository and syncs them to the target host. - Pre-Upgrade Actions:
- On Test: Automatically restores data from Live if requested.
- On Prod: Takes a full backup (DB + Filestore) before proceeding.
- Stack Deployment: Deploys the Odoo container stack using the specified version tag.
- Major Upgrade: If
upgrade_statusis true inhost_vars, it triggers the Odoo database upgrade process. - Post-Deployment: Finalizes the upgrade status in Gitea and sends notifications.
Handleiding
Pipeline Parameters
| Parameter | Omschrijving |
|---|---|
ReconfigureParameters |
Wordt gebruikt om jobparameters opnieuw in te stellen. Vink dit aan als je de UI-configuratie wilt bijwerken zonder een volledige deployment uit te voeren. |
Full_DNS_record |
De doelhost voor deployment (bijv. flow-test.dutchworld.nl). |
Rebuild_containers |
Als aangevinkt, worden de Odoo-containers opnieuw opgebouwd met de nieuwste enterprise apps. Als niet aangevinkt, worden alleen custom addons gesynchroniseerd. |
customBranch |
Dynamisch opgehaalde branchlijst uit het customizations repository in Gitea. |
odooDeployVersion |
Dynamisch opgehaalde lijst van container tags (releases) uit Nexus voor de doel-Odoo-versie. |
restoreFromLive |
(Alleen testomgeving) Als aangevinkt, wordt de database en filestore hersteld van de live server. |
newTestDbName |
Optionele suffix voor de testdatabasenaam. |
ansibleDebug |
Voert Ansible playbooks uit met hoge verbosity (-vvv) voor troubleshooting. |
Deployment Workflow
- Initialisatie: De pipeline leest
host_varsuit hetansiblerepository om omgevingsvariabelen te configureren. - Synchronisatie Addons: Als
Rebuild_containersfalse is, kloont de pipeline het custom addons repository en synchroniseert deze naar de doelhost. - Pre-Upgrade Acties:
- Op Test: Herstelt automatisch data van Live als gevraagd.
- Op Prod: Maakt een volledige backup (DB + Filestore) voor de upgrade.
- Stack Deployment: Deployt de Odoo container stack met het opgegeven versie tag.
- Major Upgrade: Als
upgrade_statustrue is inhost_vars, wordt het Odoo database upgrade proces gestart. - Post-Deployment: Finaliseert de upgrade status in Gitea en verstuurt notificaties.
Opis projektu
deploy_odoo_mvs139.Jenkinsfile to zaawansowany Pipeline Jenkins zaprojektowany do automatycznego wdrażania,
zarządzania i aktualizacji stosów Odoo za pomocą Docker i Ansible. Zapewnia wysoko konfigurowalny przepływ pracy, który
obsługuje inicjalizację środowiska, synchronizację niestandardowych dodatków, kopie zapasowe baz danych, aktualizacje głównych wersji
oraz przywracanie danych ze środowisk produkcyjnych do testowych.
Kluczowe funkcje obejmują:
- Dynamiczne parametry: Wykorzystuje Active Choices do pobierania danych w czasie rzeczywistym z Gitea i Nexus.
- Hybrydowe wdrażanie: Obsługuje zarówno prostą synchronizację dodatków, jak i pełne przebudowy kontenerów.
- Zautomatyzowane aktualizacje: Obsługuje główne aktualizacje wersji Odoo, w tym migracje baz danych.
- Izolacja środowiska: Wyraźnie rozróżnia środowiska „test” i „prod” z określonymi kontrolami bezpieczeństwa.
- Powiadomienia: Wysyła aktualizacje statusu wdrożenia do kChat.
Instrukcja użytkownika
Parametry Pipeline
| Parametr | Opis |
|---|---|
ReconfigureParameters |
Używany do ponownego zainicjowania parametrów zadania. Zaznacz, jeśli chcesz zaktualizować konfigurację UI bez pełnego wdrożenia. |
Full_DNS_record |
Docelowy host do wdrożenia (np. flow-test.dutchworld.nl). |
Rebuild_containers |
Jeśli zaznaczone, kontenery Odoo zostaną przebudowane z użyciem najnowszych aplikacji enterprise. Jeśli nie, synchronizowane są tylko niestandardowe dodatki. |
customBranch |
Dynamically pobierana lista gałęzi z repozytorium personalizacji w Gitea. |
odooDeployVersion |
Dynamically pobierana lista tagów kontenerów (wydań) z Nexus dla docelowej wersji Odoo. |
restoreFromLive |
(Tylko środowisko testowe) Jeśli zaznaczone, przywraca bazę danych i filestore z serwera produkcyjnego. |
newTestDbName |
Opcjonalny sufiks nazwy bazy testowej. |
ansibleDebug |
Uruchamia playbooki Ansible z wysoką szczegółowością (-vvv) w celu rozwiązywania problemów. |
Proces wdrażania
- Inicjalizacja: Pipeline odczytuje
host_varsz repozytoriumansible, aby skonfigurować zmienne środowiskowe. - Synchronizacja dodatków: Jeśli
Rebuild_containersjest ustawione na false, pipeline klonuje repozytorium niestandardowych dodatków i synchronizuje je na docelowym hoście. - Przedaktualizacyjne działania:
- W środowisku testowym: Automatycznie przywraca dane z produkcji, jeśli jest to wymagane.
- W środowisku produkcyjnym: Tworzy pełną kopię zapasową (baza danych + filestore) przed kontynuacją.
- Wdrażanie stosu: Wdraża stos kontenerów Odoo z użyciem określonego tagu wersji.
- Główna aktualizacja: Jeśli
upgrade_statusjest ustawiony na true whost_vars, uruchamia proces aktualizacji bazy danych Odoo. - Po wdrożeniu: Finalizuje status aktualizacji w Gitea i wysyła powiadomienia.