¿Cómo realizar el deploy desde Gitlab utilizando FTP?
Aprende a configurar el despliegue automático (DEPLOY) del código de un repositorio de Gitlab hacia un servidor en la nube por medio de FTP
Sigue las actualizaciones en los distintos medios:
Facebook: https://www.facebook.com/G.Mizael.Mtz.Hdz
Twitter: https://twitter.com/gmizaelmtzhdz
Instagram: https://www.instagram.com/gmizaelmtzhdz/
Github: https://github.com/gmizaelmtzhdz
App Store: https://apps.apple.com/us/developer/gustavo-martinez-hernandez/id1502014070
Play Store: https://play.google.com/store/apps/dev?id=6126416745177973085
Linkedin: https://www.linkedin.com/in/gmizaelmtzhdz
Stackoverflow: https://stackoverflow.com/users/4736670/g-mizael-mtz-hdz
Google Scholar: https://scholar.google.com.mx/citations?user=bOcXSBEAAAAJ&hl=en
Blog: https://synaesthetic-programming.blogspot.com/
Perfil: https://witsoftplus.com/G.-Mizael-Mtz-Hdz/
Canal de Youtube: https://www.youtube.com/channel/UCBOmysfoa5ARciUaEiAlVUg
Udemy: https://www.udemy.com/user/mizaelmtz/
#ftp #deploy #gitlab #devops #gitlab-ci.yml #git #gitflow
---------
Ejemplos de archivo .gitlab-ci.yml
https://gist.github.com/gmizaelmtzhdz/a66376dbac8e5e73363f40f2413591ac
https://gist.github.com/gmizaelmtzhdz/b89cc754e7a27daf806350adfdfe7cd3
https://gist.github.com/gmizaelmtzhdz/4abafafce454719db3e653d1bdfdfc3a
https://gist.github.com/gmizaelmtzhdz/1ea7eaf788335d325dd5c22c22b53160
2. “
Automatizar el envío de código fuente
desde un repositorio en Gitlab hacia tu
Servidor (producción), por medio de
FTP
.
3. PASO #1: Push a
master/main
git push -u origin master / main
merge request
PASO #2: Despliegue del código
desde Gitlab hacia nuestro
servidor (cPanel/ HestiaCP/
Plesk) a través de FTP
Ambiente de desarrollo.
GitFlow
4. AGENDA
INTRODUCCIÓN
Aprender los conceptos
generales sobre los
despliegues automáticos
CONFIGURACIÓN EN GITLAB
Configurar el repositorio
de Gitlab + FTP
RESULTADO
Mostrar el resultado de la
configuración del
repositorio
6. PASO #1: Push a
master/main
git push -u origin master / main
merge request
PASO #2: Despliegue del código
desde Gitlab hacia nuestro
servidor (cPanel/ HestiaCP/
Plesk) a través de FTP
Ambiente de desarrollo.
GitFlow
8. INTRODUCCIÓN
.gitlab-ci.yml
Archivo donde se definen
los JOB's CI/CD
CONTENEDOR
Capacidad de ejecutar varios procesos y
aplicaciones por separado para hacer un mejor uso
de su infraestructura y, al mismo tiempo, conservar
la seguridad que tendría con sistemas separados
LFTP
transferencia de archivos desde
la consola de comandos.
9. INTRODUCCIÓN
PIPELINE
Conjunto de scripts (Jobs)
que se definen en
.gitlab-ci.yml
JOB
Funcionalidades únicas.
RUNNERS
Proceso encargado de ejecutar las
instrucciones definidas en archivos
.gitlab-ci.yml
11. PASO #1: Push a
master/main
git push -u origin master / main
merge request
PASO #2: Despliegue del código
desde Gitlab hacia nuestro
servidor (cPanel/ HestiaCP/
Plesk) a través de FTP
Ambiente de desarrollo.
GitFlow
12. CONFIGURACIÓN EN GITLAB
PRECONFIGURACIÓN
Antes de iniciar con la configuración es importante conocer la siguiente información del proyecto /
repositorio:
1. La rama que desencadenará el despliegue (regularmente master o main).
2. Si el servidor destino, soporta conexiones por FTP / SFTP (SSH) / ETC.
3. Que carpetas o archivos solo necesitan subirse una vez, para descartarlos en el archivo de
configuración “.gitlab-ci.yml”, como por ej.
a. system/
b. vendor/
c. config/
d. .git/
e. .gitignore
f. .gitlab-ci.yml
g. etc.
4. Tener un repositorio en Gitlab
a. Rol “Maintainer“ o “Owner”
13. CONFIGURACIÓN EN GITLAB
CREACIÓN DE CUENTA FTP
● HestiaCP
○ Login en el Web Panel
○ Web > *Seleccionar dominio/subdominio > Additional FTP account(s)
■ FTP #1
● Username: admin_gitlab
● Password: wq3HownaqQ2Ly1um
● Path: /home/admin/web/witsoftplus.com/public_html/gitlab_ftp
● Servidor: http://witsoftplus.com/
● Url: http://witsoftplus.com/gitlab_ftp
16. CONFIGURACIÓN EN GITLAB
CONFIGURAR VARIABLES
● En el repositorio que estamos configurando > clic en el menú de la izquierda > Settings > CI / CD
● En la sección de “Variables” expandir y dar de alta las siguientes 3 variables:
○ FTP_SERVER: ftp.witsoftplus.com
○ FTP_USERNAME: admin_gitlab
○ FTP_PASSWORD: wq3HownaqQ2Ly1um
17. CONFIGURACIÓN EN GITLAB
CREACIÓN DE ARCHIVO “.gitlab-ci.yml” EN GITLAB
● Iniciar sesión en Gitlab: https://gitlab.com/
● Agregar un archivo llamado “.gitlab-ci.yml” en el directorio root del repositorio.
○ https://gitlab.com/g.-mizael-mtz-hdz/gitflow-en-gitlab
● Notas:
○ No necesariamente se tiene que utilizar la imagen de docker: ubuntu:18.04.
○ No agregar la etiqueta -e o --delete: ya que si no existen los archivos del repositorio en el
servidor, se eliminarán.
○ Es recomendable excluir aquellas carpetas que solo se necesitan subir una vez, como por
ej. system/ (core de codeigniter), vendor/ (a menos que se actualicen los paquetes que se
están utilizando), etc.
● Ejemplos de archivo .gitlab-ci.yml
○ https://gist.github.com/gmizaelmtzhdz/a66376dbac8e5e73363f40f2413591ac
○ https://gist.github.com/gmizaelmtzhdz/b89cc754e7a27daf806350adfdfe7cd3
○ https://gist.github.com/gmizaelmtzhdz/4abafafce454719db3e653d1bdfdfc3a
○ https://gist.github.com/gmizaelmtzhdz/1ea7eaf788335d325dd5c22c22b53160