fede2cr.alfresco52
alfresco_ansible 
Przepisy Ansible dla Alfresco
Opis
Przepisy do:
- Automatycznej instalacji i aktualizacji Alfresco 5.2
- Automatycznej instalacji Alfresco 6.1 (w trakcie)
Użycie
Rola Ansible dla Alfresco została stworzona w taki sposób, że zadania są podzielone na tagi, co umożliwia wybranie, które części chcemy wykonać w trakcie jednej sekwencyjnej operacji. Dzięki temu ta sama rola może zarówno zainstalować Alfresco na nowym urządzeniu, jak i zaktualizować do wersji wskazanej w inwentarzu.
Instalacja od zera
Wymagania dla Ansible
Na komputerze z Ubuntu 18.04, fizycznym lub wirtualnym, z wystarczającą ilością miejsca na instalację Alfresco i kopię zapasową danych, należy najpierw włączyć usługę SSH, skopiować klucz SSH do użytkownika, który będzie używany do połączenia, oraz utworzyć uprawnienia sudo, tworząc z odpowiednim użytkownikiem plik /etc/sudoers.d/ansible
:
%sudo ALL=(ALL) NOPASSWD: ALL
Defaults:greencore !requiretty
Następnie instalujemy kilka niezbędnych pakietów do początkowego połączenia, zarówno dla dystrybucji, jak i Pythona:
# Pakiety dla Ubuntu
sudo apt install -y python3-minimal python3-pip
# Dla MySQL
sudo apt install -y python3-pymysql
# Dla PostgreSQL
python3-psycopg2 libpq-dev postgresql libpostgresql-jdbc-java
# Pakiety Pythona
sudo pip3 install ansible psutil # Można pominąć "ansible" na zdalnym komputerze, jest potrzebny tylko na komputerze kontrolnym
Konfiguracja inwentarza
Należy zmodyfikować tylko jeden plik, którym jest inwentarz, w którym definiujemy adres IP serwera, na którym zainstalujemy lub zaktualizujemy Alfresco oraz parametry, które będą używane do конфигурации Alfresco.
Na przykład, w pliku inventory/hosts.yml
:
---
alfresco:
hosts:
10.xx.xx.xx: # Zmień IP serwera Alfresco
ansible_user: greencore # Użytkownik do użycia w SSH
alfresco_installer: alfresco-community-installer-201707-linux-x64.bin # Jaka wersja instalatora, odkomentować
# stara wersja
#alfresco_installer: alfresco-community-installer-201602-linux-x64.bin
alf_glob_prop_path: /opt/alfresco_community/tomcat/shared/classes/alfresco-global.properties # Ścieżka do pliku alfresco-global.properties
alf_root: /opt/alfresco_community/ # Korzeń Alfresco
dir_root: /opt/alfresco_community/alf_data # Katalog alf_data
solr4_root: /opt/alfresco_community/alf_data/solr4/index # Katalog Solr
installer_delay: 190 # Czas oczekiwania na zakończenie instalacji
Zanim przejdziemy dalej, sprawdzamy inwentarz i ogólną wykonanie ansible, wykonując:
ansible -i inventory/hosts.yml -m ping alfresco
10.xx.xx.xx | SUKCES => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
Aby sprawdzić dostępność plików konfiguracyjnych, plików do pobrania, modułów Pythona wymaganych dla modułów Ansible itd., najpierw uruchomimy Ansible w trybie dry-run, co oznacza, że nie będzie dokonywał żadnych zmian.
ansible-playbook -C -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_install,mysql
Jeśli nie napotkamy żadnych problemów, teraz możemy uruchomić bez opcji -C
, aby zainstalować Alfresco:
ansible-playbook -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_install,mysql
Aktualizacja Alfresco
Przed rozpoczęciem zaleca się sprawdzenie usług komputera przed aktualizacją, przestrzeganie zasad zgłaszania zmian, korzystanie z komputerów testowych oraz zawsze tworzenie kopii zapasowych komputerów produkcyjnych.
W przypadku przeprowadzania pełnego laboratorium dotyczącego instalacji i aktualizacji, może być konieczne zmienienie wersji Alfresco do zainstalowania zgodnie z plikiem inwentarza.
W takim przypadku dodatkowe tagi mysql_preupgrade i mysql_postupgrade zajmują się tworzeniem kopii zapasowych danych, przenoszeniem katalogu Alfresco i ponownym importowaniem danych do MySQL, oraz katalogu dir.root, które będą zastosowane w aktualizacji.
ansible-playbook -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_preupgrade,mysql,mysql_postupgrade
Teraz wystarczy sprawdzić usługę, czy zawartość znajduje się na swoim miejscu i obserwować pliki dziennika w poszukiwaniu ewentualnych komunikatów o błędach.
Debugowanie
Jeśli coś się nie powiedzie, na przykład czas oczekiwania na instalator jest zbyt krótki, można kontynuować po tej operacji, używając poniższego polecenia:
ansible-playbook -i inventory playbook.yml --tags a,b,c --start-at-task="Pełna nazwa zadania"
ansible-galaxy install fede2cr.alfresco52