2. Semaphore: Crear Estructura de Directorios

  • Se crea la siguiente estructura de directorios
  • Para los ambientes de desarrollo y producción de la aplicación SIGESA
tree /home/cgi/semaphore
  • Estructura para almacenar playbook genéricos
  • Comandos
###################################################################
# Semaphore
###################################################################
mkdir -p /home/cgi/semaphore/logs
mkdir -p /home/cgi/semaphore/tmp




###################################################################
# Generico
###################################################################
mkdir -p /home/cgi/semaphore/generico/linux
mkdir -p /home/cgi/semaphore/generico/linux/playbooks/

mkdir -p /home/cgi/semaphore/generico/linux/playbooks/files
mkdir -p /home/cgi/semaphore/generico/linux/playbooks/templates
mkdir -p /home/cgi/semaphore/generico/linux/playbooks/roles
mkdir -p /home/cgi/semaphore/generico/linux/playbooks/inventories
mkdir -p /home/cgi/semaphore/generico/linux/playbooks/group_vars
mkdir -p /home/cgi/semaphore/generico/linux/playbooks/host_vars
mkdir -p /home/cgi/semaphore/generico/linux/playbooks/keys
mkdir -p /home/cgi/semaphore/generico/linux/playbooks/vault
mkdir -p /home/cgi/semaphore/generico/linux/playbooks/vars


chown -R cgi:cgi /home/cgi/semaphore
  • Explicación:
    • files: Permite almacenar archivos utilizados por los playbooks
    • templates: permite almacenar plantillas
    • roles: creación de roles
    • inventariories: almacenar inventarios
    • group_vars: variables por grupos de roles
    • host_vars: variables específicas de un host
    • keys: llaves ssh necesarias
    • vault: si se usa Ansible vault
    • logs: logs del sistema
    • tmp: archivos temporales
  • Estructura Producción y desarrollo SIGESA
###################################################################
# Ambiente: Producción | Aplicación: SIGESA
###################################################################
mkdir -p /home/cgi/semaphore/produccion

mkdir -p /home/cgi/semaphore/produccion/sigesa
mkdir -p /home/cgi/semaphore/produccion/sigesa/playbooks
mkdir -p /home/cgi/semaphore/produccion/sigesa/playbooks/files
mkdir -p /home/cgi/semaphore/produccion/sigesa/playbooks/templates
mkdir -p /home/cgi/semaphore/produccion/sigesa/playbooks/roles
mkdir -p /home/cgi/semaphore/produccion/sigesa/playbooks/inventories
mkdir -p /home/cgi/semaphore/produccion/sigesa/playbooks/group_vars
mkdir -p /home/cgi/semaphore/produccion/sigesa/playbooks/host_vars
mkdir -p /home/cgi/semaphore/produccion/sigesa/playbooks/keys
mkdir -p /home/cgi/semaphore/produccion/sigesa/playbooks/vault
mkdir -p /home/cgi/semaphore/produccion/sigesa/playbooks/vars



###################################################################
# Ambiente: Desarrollo | Aplicación: SIGESA
###################################################################
mkdir -p /home/cgi/semaphore/desarrollo
mkdir -p /home/cgi/semaphore/desarrollo/sigesa
mkdir -p /home/cgi/semaphore/desarrollo/sigesa/playbooks

mkdir -p /home/cgi/semaphore/desarrollo/sigesa/playbooks/files
mkdir -p /home/cgi/semaphore/desarrollo/sigesa/playbooks/templates
mkdir -p /home/cgi/semaphore/desarrollo/sigesa/playbooks/roles
mkdir -p /home/cgi/semaphore/desarrollo/sigesa/playbooks/inventories
mkdir -p /home/cgi/semaphore/desarrollo/sigesa/playbooks/group_vars
mkdir -p /home/cgi/semaphore/desarrollo/sigesa/playbooks/host_vars
mkdir -p /home/cgi/semaphore/desarrollo/sigesa/playbooks/keys
mkdir -p /home/cgi/semaphore/desarrollo/sigesa/playbooks/vault
mkdir -p /home/cgi/semaphore/desarrollo/sigesa/playbooks/vars
  • Desarrollo
  • Producción

Galaxy

  • Por defecto semaphore utiliza galaxy (tema pendiente)
  • Y genera los siguientes warnnigs
1:09:27 PM
No /home/cgi/semaphore/generico/linux/playbooks/collections/requirements.yml file found. Skip galaxy install process.
1:09:27 PM
No /home/cgi/semaphore/generico/linux/playbooks/requirements.yml file found. Skip galaxy install process.
1:09:27 PM
No /home/cgi/semaphore/generico/linux/playbooks/collections/requirements.yml file found. Skip galaxy install process.
1:09:27 PM
No /home/cgi/semaphore/generico/linux/playbooks/requirements.yml file found. Skip galaxy install process.
1:09:27 PM
No /home/cgi/semaphore/generico/linux/playbooks/roles/requirements.yml file found. Skip galaxy install process.
1:09:27 PM
No /home/cgi/semaphore/generico/linux/playbooks/requirements.yml file found. Skip galaxy install process.
1:09:27 PM
No /home/cgi/semaphore/generico/linux/playbooks/roles/requirements.yml file found. Skip galaxy install process.
1:09:27 PM
No /home/cgi/semaphore/generico/linux/playbooks/requirements.yml file found. Skip galaxy install process.
  • Para evitar estas advertencias dentro de cualquier directorio que contenga playbook debemos crear el archivo
nano /home/cgi/semaphore/generico/linux/playbooks/requirements.yml
  • Crear el directorio
mkdir -p /home/cgi/semaphore/generico/linux/playbooks/collections
  • ejecutar
tee /home/cgi/semaphore/generico/linux/playbooks/collections/requirements.yml > /dev/null <<'EOF'
---
collections: []
EOF
  • Resumen / Plantilla
nano directorio_playbooks/requirements.yml

mkdir -p directorio_playbooks/collections

tee directorio_playbooks/collections/requirements.yml > /dev/null <<'EOF'
---
collections: []
EOF
  • Ejemplo
nano /home/cgi/semaphore/generico/linux/playbooks/requirements.yml

mkdir -p /home/cgi/semaphore/generico/linux/playbooks/collections

tee /home/cgi/semaphore/generico/linux/playbooks/collections/requirements.yml > /dev/null <<'EOF'
---
collections: []
EOF