andrelohmann.odoo

odoo

Ostatni test

Zawartość

Użyj tej roli, aby zainstalować najnowszą wersję Odoo z źródła na swoim serwerze Ubuntu.

Wymagania

Ta rola wymaga systemu Ubuntu.

Zmienne Roli

Ustaw zmienne Odoo i parametry konfiguracyjne:

odoo_release: latest  # np. 16, 17
# ustaw odoo_source_install na false, aby zainstalować z pakietów nocnych
odoo_source_install: false
odoo_config: []
# Użyj formatu klucz / wartość dla parametrów konfiguracyjnych
# - klucz: db_name
#   wartość: odoo
# - klucz: admin_passwd
#   wartość: S3cr3t!
# Wstępnie zainstalowane bazy danych
odoo_init_databases: []
#- baza_danych: odoo_1
#  język: de_DE

Przykładowy Skrypt

- hosts: odoo
  become: yes
  roles:
  - { role: andrelohmann.odoo }

Rozwój Roli

Specjalny cel

To repozytorium wspiera następujące funkcje rozwoju roli:

  • yamllint
  • ansible-lint
  • testowanie z użyciem molecule
  • akcje github
  • automatyczna aktualizacja wersji
  • aktualizacja ansible-galaxy
  • wyświetlanie statusu budowy
  • testowanie w vagrant (w celach rozwojowych)
  • testowanie z molecule (wewnątrz lub poza vagrant)
  • testowanie w kontenerze docker
  • testowanie i rozwój w vscode

Wymagania wstępne

https://thedatabaseme.de/2022/01/17/automated-testing-your-ansible-role-with-molecule-and-github-actions/

  • Zainstalowany Virtualbox + Vagrant (tylko konieczne, jeśli rola ma być testowana również z vargant)
  • Docker Desktop
  • VisualStudioCode + pakiet rozszerzeń remote (zależności są określone w .vscode/extensions.json)

Ustawienie Rozwoju

Ta rola ansible jest rozwijana z użyciem molecule do testowania. Jej rozwój oparty jest na Visual Studio Code i odpowiednim kontenerze rozwojowym, rozwiązującym wszystkie zależności w zakresie niezbędnych narzędzi (ansible, linter, molecule).

Rola będzie testowana na Ubuntu Noble.

Aby uruchomić testy molecule z wnętrza kontenera rozwojowego, gniazdo docker musi być zamontowane do kontenera rozwojowego.

Ważne foldery i pliki

.devcontainer
  • Definiuje Dockerfile dla kontenera rozwojowego
  • Konfiguruje uruchamianie kontenera rozwojowego (np. montowanie gniazda docker)
molecule/default/Dockerfile.js
  • Używane jako szablon dla wszystkich platform zdefiniowanych w molecule/default/molecule.yml
  • Przygotowuje środowiska do obsługi usług systemd (konieczne dla niektórych ról ansible działających na systemd)
  • Instalacja wszystkich wymagań do uruchomienia ansible w odniesieniu do pochodzonych kontenerów
  • Plik jest dostosowany do atrybutów platform w molecule/default/molecule.yml
  • Więcej informacji - zapoznaj się z dokumentacją molecule

Użycie

Visual Studio Code

  • Przejdź do katalogu głównego swojej roli i uruchom vscode
code .
  • Z wewnątrz kontenera rozwojowego możesz użyć następujących poleceń uruchamiających
yamllint .
ansible-lint .
molecule create
molecule test --all

Vagrant + Virtualbox

  • Przejdź do katalogu głównego swojej roli
  • Przejdź do folderu vagrant
  • Uruchom i wejdź do maszyny vagrant
vagrant up
vagrant ssh
  • Przejdź do folderu roli
cd /etc/ansible/roles/ansible-role- [tab]
  • Teraz możesz uruchomić wszystkie testy
yamllint .
ansible-lint .
molecule create
molecule test --all

Proces budowy i wydania

Rola ansible definiuje zestaw przepływów pracy github do uruchamiania testów molecule i zarządzania wydaniami.

Zarządzanie wydaniami wymaga kilku ustawień.

Ochrona gałęzi master/main

  • Ustawienia -> Gałęzie -> Dodaj regułę ochrony gałęzi
  • Nazwa wzoru gałęzi -> main lub master (w zależności od Twojej domyślnej gałęzi)
  • Ochrona dopasowanych gałęzi -> zaznacz "Wymagaj pull requesta przed scaleniem"
  • "Wymagaj zatwierdzeń" można indywidualnie ustawić według potrzeb

Przyznanie uprawnień do odczytu i zapisu dla GITHUB_TOKEN

  • Ustawienia -> Akcje -> Ogólne -> Uprawnienia przepływu pracy -> uprawnienia do odczytu i zapisu

Wiadomości o zatwierdzeniach

Wiadomości o zatwierdzeniach powinny przestrzegać specjalnego formatu, aby uzyskać aktualizację wersji w formacie patch, minor lub major.

patch

0.0.x

fix(single_word): opis
minor

0.x.0

feat(single_word): opis
major

x.0.0

perf(single_word): opis
BREAKING CHANGE: opis zmiany

Bardzo ważne jest, aby "BREAKING CHANGE: " zostało wspomniane w drugiej plus linii. W przypadku jednoliniowych wiadomości o zatwierdzeniach aktualizacja wersji major zostanie zignorowana.

Dodaj tajny klucz GALAXY_API_KEY

  • Zaloguj się na swoje konto github na https://galaxy.ansible.com/.
  • Pobierz klucz API galaxy z Preferencje -> Klucz API
  • Otwórz swoje repozytorium roli na githubie
  • Ustawienia -> Sekrety i zmienne -> Akcje -> Nowy tajny klucz repozytorium
  • Użyj "GALAXY_API_KEY" jako klucz i skopiowany klucz API galaxy jako wartość

Licencja

MIT

Informacje o autorze

© Andre Lohmann (i inni) 2024

https://github.com/andrelohmann

Kontakt z Utrzymującym

  • Andre Lohmann <lohmann.andre (at) gmail (dot) com>
O projekcie

ansible galaxy role to install odoo from sources

Zainstaluj
ansible-galaxy install andrelohmann.odoo
Licencja
mit
Pobrania
184
Właściciel