Despliegue

  • Despliegue
  • Configuración osTicket

Llaves de despliegue

Si usted está trabajando en windows y utiliza una llave ssh general omita este paso. De lo contrario y para ambientes de producción será necesario crear llaves de despliegue para cada repositorio involucrado en el aplicativo.

    ssh-keygen

Típicamente se crearán tres llaves, una para cada repositorio:

  • Repositorio de la aplicación.
  • Repositorio de la documentación.
  • Repositorio de personalizaciones del cliente.

Luego debemos ajustar el archivo de configuración de ssh para que utilice las llaves creadas:

    nano ~/.ssh/config

El archivo debe tener una estructura similar a la siguiente:

Host TRANSITOAPP
    HostName github.com
    AddKeysToAgent yes
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/TRANSITOAPP

Host CUSTOMCLIENT
    HostName github.com
    AddKeysToAgent yes
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/CUSTOMCLIENT

Host USERMANUAL
    HostName github.com
    AddKeysToAgent yes
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/USERMANUAL

Luego de registrar cada una de las llaves de despliegue generadas en github inicie la clonación de repositorios.

Clonado de repositorios

Cuando se usa una configuración de llaves de depliegue se reemplaza github.com por el nombre del host definido en el archivo de configuración de ssh.

    git clone git@TRANSITOAPP:SIDESO/TRANSITO-APP.git smr.transitoapp.co
    cd smr.transitoapp.co
    git clone git@CUSTOMCLIENT:SIDESO/TRANSITO-SMR.git CustomClient
    git clone git@USERMANUAL:SIDESO/documentacion_transito.git UserManual

Para la correcta visualización de imágenes del manual de usuario y el funcionamiento de la carpeta storage deberá ejecutar:

Linux:

    cd ~/smr.transitoapp.co
    php artisan storage:link
    cd public 
    ln -s ../UserManual/Master/resources manual_resources

Windows:

    cd C:\Repositorios\TRANSITO-APP
    php artisan storage:link
    mklink /D C:\Repositorios\TRANSITO-APP\public\manual_resources C:\Repositorios\TRANSITO-APP\UserManual\Master\resources

Configuración osTicket

Para lograr la autenticación Oauth de la plataforma osTicket es necesario realizar los siguientes pasos:

Creación de cliente

Se debe crear el cliente de autenticación con id de usuario nulo y la url de redirección correspondiente.

La url de redirección se toma de osTicket y tiene una estructura similar a:

https://soporte.smr.transitoapp.co/api/auth/oauth2

    php artisan passport:client

El anterior comando retornará Client ID y Client Secret que se deben configurar en osTicket

Configuración de osTicket

Diríjase a la ruta de administración de osTicket:

https://soporte.smr.transitoapp.co/scp/login.php

Siga la ruta: Panel de Administración -> Administrar -> Plugins -> OAuth2 Client

Asegúrese de que el plugin esté habilitado y configure una instancia tipo "OAuth2 - Other" teniendo en cuenta:

Parámetros Oauth2

Clave Valor
Authentication Target End Users Only
Redirect Uri (valor por defecto) https://soporte.smr.transitoapp.co/api/auth/oauth2
Client Id (valor obtenido en el paso anterior)
CLient Secret (valor obtenido en el paso anterior)
Authorization Endpoint https://smr.transitoapp.co/oauth/authorize
Token Endpoint https://smr.transitoapp.co/oauth/token
Resource Details Endpoint https://smr.transitoapp.co/api/oauth/user
Scopes: osTicket

Parámetros de usuario

Clave Valor
User Identifier email
Given Name name
Surname last_name
Email Address email

Nota Eliminar una instancia de OAuth2 Client no elimina los usuarios que se hayan creado a partir de ella y estos usuarios tendrán problemas para iniciar sesión ya que quedan enlazados a una instancia huérfana. No es recomendable eliminar instancias de OAuth2 Client.