andrelohmann.odoo
odoo
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
- 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>
ansible-galaxy install andrelohmann.odoo