fede2cr.alfresco52

alfresco_ansible Status budowy

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"
O projekcie

Alfresco52 install and upgrade role

Zainstaluj
ansible-galaxy install fede2cr.alfresco52
Licencja
Unknown
Pobrania
108
Właściciel
Hacker, profesor, cervecero, luthier, cocinero, maker, astrónomo, biólogo, fotógrafo. Trabajo en Microsoft.