Builds desde Unity en la nube (sin salir de GitHub) ☁️🔧[2/3]
Introducción
En el post anterior de esta serie (opens in a new tab), vimos una introduccion a las GitHub Actions y tambien maquetamos lo que sera nuestro workflow para esta serie de posts.
Asi habia quedado:
{% gist https://gist.github.com/kawzar/f37df771bc2a1f18a7e81622d277abd0 (opens in a new tab) %}
Modelo mental
- Agregaremos dos nuevos jobs a nuestro workflow. Estos se ejecutaran luego del build.
- El primero de esos jobs, copia la build que expusimos como artifact en el paso anterior a un servidor FTP.
- El segundo job, manda un mensaje a Discord una vez que la copia al FTP se realizo correctamente.
Manos a la obra
Como ya nos familiarizamos con el pipeline de las GitHub Actions en el post anterior, voy a dejar mas abajo el esqueleto del workflow terminado exceptuando el detalle del codigo para el job de build.
{% gist https://gist.github.com/kawzar/fda438e45c7e18d900e185ae1bfd1799 (opens in a new tab) %}
Copiar al FTP
En este caso, usaremos el action dist-to-ftp (opens in a new tab) que se encuentra disponible en el Marketplace de GitHub Actions.
Para guardar de forma segura la URL de nuestro FTP, asi como sus accesos usaremos secrets. Los secretos pueden configurarse en GitHub a nivel de repositorio en Settings -> Secrets -> Actions
.
Mandar un mensaje a Discord
De nuevo usaremos una accion disponible en el marketplace, esta vez action-discord (opens in a new tab). Leyendo su documentacion nos encontramos con que primero debemos configurar un WebHook para un canal en nuestro servidor Discord. Esto puede hacerse siguiendo los pasos dados en su propia documentacion (opens in a new tab).
Una vez que creamos nuestro webhook, guardaremos nuevamente estos valores como secrets a nivel del repositorio.
Wrap up
Si vamos a la pestaña de Actions
tal y como en el post anterior, podemos correr nuevamente el workflow y chequear su ejecucion.
Si todo resulto bien, cuando el build se realice y se copie exitosamente al FTP, recibiremos un mensaje en nuestro canal de discord con un link que apunta a la nueva version.
La imagen de cabecera es de Natasha Remarchuk