Proceso de actualización de Sherpa Orchestrator#

Actualización de Sherpa Orchestrator#

1. Descarga de archivos#

Descargue todos los archivos de actualización más recientes de Sherpa Orchestrator mediante los enlaces en la sección de preparación

2. Transferencia de archivos al servidor#

Tras la descarga, transfiera todos los archivos al servidor Linux de destino por cualquier método conveniente:

Mediante SCP/SFTP#

# Copie los archivos al servidor
scp *.tar.gz user@target-server:/path/to/installation/directory/
💡 Notas sobre la transferencia mediante SCP/SFTP

*scp .tar.gz user@target-server:/path/to/installation/directory/ - copia los archivos al servidor remoto

  • scp - copia segura
  • *.tar.gz - patrón para seleccionar archivos de actualización
  • user@target-server - credenciales de conexión
  • /path/to/installation/directory/ - ruta de destino en el servidor

Mediante cliente SFTP#

Utilice cualquier cliente SFTP (FileZilla, WinSCP, Cyberduck) para copiar archivos al servidor.

Mediante carpeta de red#

Si el servidor es accesible por SMB/CIFS, utilice el Explorador de Windows o el comando copy.

Verificación de la transferencia#

# Conéctese al servidor
ssh user@target-server

# Navegue al directorio con los archivos (generalmente opt/SherpaOrchestrator)
cd /path/to/installation/directory

# Verifique que todos los archivos están presentes
ls -la *.tar.gz

# Compruebe los tamaños de los archivos
ls -lh *.tar.gz
💡 Notas sobre la verificación de la transferencia

ssh user@target-server - se conecta al servidor remoto mediante SSH

  • ssh - secure shell
  • user@target-server - credenciales de conexión

cd /path/to/installation/directory - navega al directorio con los archivos

*ls -la .tar.gz - muestra información detallada sobre los archivos descargados

  • -l - formato largo
  • -a - muestra archivos ocultos

*ls -lh .tar.gz - muestra los tamaños de archivos en formato legible

  • -h - human readable (KB, MB, GB)

3. Detención de contenedores#

# Detenga todos los servicios en ejecución
docker compose down
💡 Notas sobre la detención de contenedores

docker compose down - detiene todos los servicios de Docker Compose

  • Detiene y elimina contenedores y redes
  • Conserva los volumes e imágenes

Verificación de la detención: docker ps -a | grep orchestrator - verifica el estado de los contenedores

  • docker ps -a - muestra todos los contenedores (incluidos los detenidos)
  • | grep orchestrator - filtra por el nombre orchestrator

4. Carga de imágenes Docker#

# Cree una copia de seguridad del archivo .env (si existe)
cp .env .env.backup

# Cree una copia de seguridad de la configuración
cp -r ./backend/config ./backend/config_backup

# Si se utilizan certificados personalizados, cópielos a un lugar seguro
cp -r ./backend/config/certs ./certs_backup

# Descomprima los archivos de actualización
tar -xvzf "$(ls docker_orchestrator_client_files_*.tgz | sort -V | tail -n 1)"

# Copie la configuración predeterminada de nginx (si no existe)
cp -r ./nginx/config/default/. ./nginx/config

# Haga los scripts ejecutables
chmod +x sh_scripts/*.sh

# Copie la configuración del orchestrator (los archivos son reemplazados por nuevos)
cp -af ./backend/config/default/. ./backend/config/

# Copie la configuración de vault (los archivos son reemplazados por nuevos)(si va a usar vault)
cp -af ./vault/config/default/. ./vault/config

# Si se creó una copia de seguridad de los certificados, restáurelos
cp -r ./certs_backup/* ./nginx/config/certs/

# Cargue todas las imágenes Docker
sudo ./sh_scripts/load_all_docker_images.sh
💡 Notas sobre la carga de imágenes Docker

Creación de copias de seguridad:

  • cp .env .env.backup - copia de seguridad del archivo de configuración
  • cp -r ./backend/config ./backend/config_backup - copia de seguridad del directorio config
  • cp -r ./backend/config/certs ./certs_backup - copia de seguridad de los certificados SSL

Descompresión y preparación:

  • tar -xvzf "$(ls orchestrator_docker_update_*.tgz | sort -V | tail -n 1)" - descomprime los archivos de actualización más recientes
  • chmod +x sh_scripts/*.sh - hace los scripts ejecutables
  • cp -r ./certs_backup/* ./backend/config/certs/ - restaura los certificados

sudo ./sh_scripts/load_all_docker_images.sh - carga todas las imágenes Docker

Verificación de la carga: docker images | grep orchestrator - muestra las imágenes del orchestrator cargadas

5. Selección de la configuración de BD y verificación de las variables de entorno#

# Copie el archivo compose cliente combinado
cp docker-compose.client.yml docker-compose.yml
💡 Notas sobre la selección de la configuración de BD

cp docker-compose.client.yml docker-compose.yml - selecciona la configuración cliente combinada

  • El directorio de trabajo debe contener el archivo final docker-compose.yml
  • Para MariaDB, ejecute el perfil mariadb
  • Para PostgreSQL, ejecute el perfil pg
# Abra el archivo .env para revisión
nano ./.env

# Verifique la presencia de las variables obligatorias
grep -E "(HOST_IP|DB_PASSWORD|POSTGRES_PASSWORD|NGINX_DOMAIN_NAME)" .env

# Verifique la corrección de la sintaxis
cat .env | grep -v '^#' | grep '=' | wc -l
💡 Notas sobre la verificación de variables de entorno

nano ./.env - abre el archivo de configuración en el editor

grep -E "(HOST_IP|DB_PASSWORD|POSTGRES_PASSWORD|NGINX_DOMAIN_NAME)" .env - verifica la presencia de las variables clave

  • -E - expresiones regulares extendidas
  • Lista las variables obligatorias separadas por |

cat .env | grep -v '^#' | grep '=' | wc -l - cuenta el número de variables

  • cat .env - muestra el contenido del archivo
  • grep -v '^#' - excluye los comentarios
  • grep '=' - deja solo las líneas con variables
  • wc -l - cuenta el número de líneas

Verificación de config.ini y phinx.php#

Asegúrese de que se especifican las mismas contraseñas que en el archivo .env:

  • backend/config/config.ini — parámetro database_password (y al usar PostgreSQL — la configuración correspondiente);
  • backend/config/phinx.php — en la sección environments, el parámetro 'pass' en el bloque 'mysql' o 'pgsql' (deben coincidir con las contraseñas de .env y config.ini).

De lo contrario, las migraciones al iniciar los contenedores pueden fallar con error.

# Edite la configuración si es necesario
nano backend/config/config.ini
nano backend/config/phinx.php

SI LA VERSIÓN ACTUAL DEL ORCHESTRATOR DESDE LA QUE ESTÁ ACTUALIZANDO ES MENOR O IGUAL A v141856, DEBE MONTAR EL ARCHIVO cache.bin DENTRO DEL CONTENEDOR orchestrator EN docker-compose.yml

    volumes:
      - orchestrator-storage:/opt/SherpaOrchestrator/backend/Storage
      - ./backend/config:/opt/SherpaOrchestrator/backend/config:z
      - ./path/to/cache.bin:/opt/SherpaOrchestrator/backend/app/cache.bin

6. Inicio de contenedores#

# Inicie los servicios con el perfil de BD seleccionado
# Opción 1: MariaDB
docker compose --profile mariadb up -d

# Opción 2: PostgreSQL
docker compose --profile pg up -d

# Si se necesita Vault (opcional), agregue el perfil vault:
# Opción 1: MariaDB + Vault
docker compose --profile mariadb --profile vault up -d

# Opción 2: PostgreSQL + Vault
docker compose --profile pg --profile vault up -d
💡 Notas sobre el inicio de contenedores

docker compose --profile <mariadb|pg> up -d - inicia los servicios en modo en segundo plano con la base de datos seleccionada

  • -d - modo separado (en segundo plano)

docker compose --profile <mariadb|pg> --profile vault up -d - inicia el sistema con Vault

  • El perfil vault es opcional y se conecta solo cuando se necesita almacenamiento de secretos y migración a Vault

Verificación del inicio:

  • docker compose ps - muestra el estado de todos los contenedores
  • docker compose logs -f orchestrator - muestra los logs de inicio en tiempo real

La inicialización de Vault y la migración de secretos se describen en una guía separada: 6) VAULT.md.

Tras una actualización exitosa, el sistema Sherpa Orchestrator está listo para usar.