Crear un deploy a un servidor FTP con Bitbucket
Bitbucket, al igual que otras plataformas de repositorios para desarrollo online, nos provee de herramientas de automatización para diversos aspectos de nuestro código. En este caso vamos a ver un sencillo script que nos puede ayudar a desplegar un repositorio directamente a un servidor FTP, esto nos puede servir si por ejemplo, estamos desarrollando un sitio en Wordpress (o cualquier otra tecnología). De esta manera nos evitamos la tediosa tarea de descargar el código en algún otro lado y subirlo nuevamente por FTP.
El script en sí, es algo sencillo. En el usaremos una imagen de Docker de una distribución Debian estándar. Establecemos que la rama que hará “deploy” será la rama master, pero puede ser cualquiera; las variables usadas se definen en las opciones del repositorio.
Debemos crear un archivo bitbucket-pipelines.yml en la raíz del proyecto con el siguiente contenido.
image: debian
pipelines:
branches:
master:
- step:
name: Deploy
deployment: production
script:
- apt-get -qq install git-ftp
- git config git-ftp.url ftp://$SERVER/htdocs/
- git config git-ftp.user $USER
- git config git-ftp.password $FTP_PASSWORD
- git ftp push
#/htdocs/ hace referencia al directorio remoto donde se subirán los archivos
#La primera vez que se ejecute el deploy debe usarse "git ftp init" en lugar de "git ftp push
Como se puede notar en el comentario al final del código, la primera vez que ejecutemos el despliegue del proyecto, en lugar de usar “git ftp push”, se debe usar “git ftp init” para inicializar la primera carga de archivos al servidor FTP, posteriormente debe usarse de manera permanente “git ftp push”.
Para más opciones y referencia de git ftp, se puede consultar el manual en línea de git ftp.
Si también quieres ahondar más en los pipelines de Bitbucket, puedes consultar la documentación de Bitbucket Pipelines.