SlideShare una empresa de Scribd logo
12
Lo más leído
13
Lo más leído
16
Lo más leído
Deploy
En Gitlab
vía FTP
G. Mizael Mtz Hdz
SOFTWARE ENGINEER
“
Automatizar el envío de código fuente
desde un repositorio en Gitlab hacia tu
Servidor (producción), por medio de
FTP
.
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
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
INTRODUCCIÓN
Aprender los conceptos generales sobre
los despliegues automáticos
01.
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
INTRODUCCIÓN
CI
Integración continua,
nuevas características
(automatizado).
CD
Despliegue continuo
(automatizado)
AUTOMATIZACIÓN
● Ser ágil
● Entregar software de calidad
Fuente: redhat
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.
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
CONFIGURACIÓN EN GITLAB
Configurar el repositorio de Gitlab + FTP
02.
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
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”
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
cPanel: cuenta de FTP
cPanel: cuenta de FTP
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
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
RESULTADO
Mostrar el resultado de la configuración
del repositorio
03.
PROBANDO EL
DEPLOY
Analizar el despliegue
Cuota de uso
Job
HACIENDO CAMBIOS
EN EL “.gitlab-ci.yml”
Gitlab
Siguiente paso...
Gitlab
¡Gracias!
¿Tienes alguna duda?
G. Mizael Mtz Hdz
SOFTWARE ENGINEER

Más contenido relacionado

PPTX
Customer Presentation- AVEVA Asset Information Management .pptx
PPTX
CISSP - Chapter 3 - Cryptography
PPTX
DevSecOps
PDF
TOC training KeyCloak Redhat SSO core
PPTX
Blockchain+IOT
PPTX
All about paas_iaas_saas_29.01.2015
PDF
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
Customer Presentation- AVEVA Asset Information Management .pptx
CISSP - Chapter 3 - Cryptography
DevSecOps
TOC training KeyCloak Redhat SSO core
Blockchain+IOT
All about paas_iaas_saas_29.01.2015
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue

La actualidad más candente (20)

PPTX
Keeping a Secret with HashiCorp Vault
PPTX
From 'dotnet run' to 'hello world'
PDF
Scaling ScyllaDB Storage Engine with State-of-Art Compaction
PPTX
CISSP Chapter 7 - Security Operations
PPT
McAfee Data Loss Prevent Full
PPTX
Check Point Corporate Overview 2020 - Detailed
PDF
Monitoring Kubernetes with Prometheus
PDF
Institutional DeFi Architecture
PDF
Alfresco one 5.1_on-premises_reference_architecture
PDF
Qradar - Reports.pdf
PDF
Ethereum Blockchain explained
PDF
The What, Why, and How of DevSecOps
PDF
Microsoft Modern-Work-Plan-Comparison-Enterprise.pdf
PPTX
Basic introduction in blockchain, smart contracts, permissioned ledgers
PPTX
Blockchain Technology
PPTX
Introduction to WAF and Network Application Security
PPTX
Observability
PPTX
AWS-Architecture-Icons-Deck_For-Dark-BG_04282023.pptx
PDF
Blockchain
PDF
Tokens and Complex Systems
Keeping a Secret with HashiCorp Vault
From 'dotnet run' to 'hello world'
Scaling ScyllaDB Storage Engine with State-of-Art Compaction
CISSP Chapter 7 - Security Operations
McAfee Data Loss Prevent Full
Check Point Corporate Overview 2020 - Detailed
Monitoring Kubernetes with Prometheus
Institutional DeFi Architecture
Alfresco one 5.1_on-premises_reference_architecture
Qradar - Reports.pdf
Ethereum Blockchain explained
The What, Why, and How of DevSecOps
Microsoft Modern-Work-Plan-Comparison-Enterprise.pdf
Basic introduction in blockchain, smart contracts, permissioned ledgers
Blockchain Technology
Introduction to WAF and Network Application Security
Observability
AWS-Architecture-Icons-Deck_For-Dark-BG_04282023.pptx
Blockchain
Tokens and Complex Systems
Publicidad

Similar a Deploy gitlab vía ftp (20)

PDF
Git flow en github
PDF
CONTROL DE VERSIONES en git analisis de sistemas.pdf
PDF
Git flow en gitlab
PPTX
Flujos de trabajo y mejores prácticas en git
PPTX
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
PDF
Introducción a Git
PDF
Curso: Publicando mi proyecto web en Github
PDF
Introducción a Git
PDF
Git para-principiantes
PPTX
Git: un enfoque práctico
PDF
Git & GitHub Part II
PDF
Control de versiones utilizando Git
PPTX
Fundamentos de GIt y Github
PDF
Git y github básico
PDF
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
PDF
Git.manual.usuario
PPTX
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
PPTX
Git training
PDF
Uso practico de git
Git flow en github
CONTROL DE VERSIONES en git analisis de sistemas.pdf
Git flow en gitlab
Flujos de trabajo y mejores prácticas en git
GuiaPrincipiantesGitHubrfuenzalidadev.pptx
Introducción a Git
Curso: Publicando mi proyecto web en Github
Introducción a Git
Git para-principiantes
Git: un enfoque práctico
Git & GitHub Part II
Control de versiones utilizando Git
Fundamentos de GIt y Github
Git y github básico
Presentación GitHub Antonio Luque Bravo y Miguel Ángel Zamora Blanco
Git.manual.usuario
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Git training
Uso practico de git
Publicidad

Último (11)

PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PPTX
Implementación equipo monitor12.08.25.pptx
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
Fundamentos de Python - Curso de Python dia 1
PPTX
sistemas de informacion.................
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
AutoCAD Herramientas para el futuro, Juan Fandiño
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
Implementación equipo monitor12.08.25.pptx
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Conceptos basicos de Base de Datos y sus propiedades
Derechos_de_Autor_y_Creative_Commons.pptx
Fundamentos de Python - Curso de Python dia 1
sistemas de informacion.................
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Su punto de partida en la IA: Microsoft 365 Copilot Chat

Deploy gitlab vía ftp

  • 1. Deploy En Gitlab vía FTP G. Mizael Mtz Hdz SOFTWARE ENGINEER
  • 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
  • 5. INTRODUCCIÓN Aprender los conceptos generales sobre los despliegues automáticos 01.
  • 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
  • 7. INTRODUCCIÓN CI Integración continua, nuevas características (automatizado). CD Despliegue continuo (automatizado) AUTOMATIZACIÓN ● Ser ágil ● Entregar software de calidad Fuente: redhat
  • 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
  • 10. CONFIGURACIÓN EN GITLAB Configurar el repositorio de Gitlab + FTP 02.
  • 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
  • 18. RESULTADO Mostrar el resultado de la configuración del repositorio 03.
  • 19. PROBANDO EL DEPLOY Analizar el despliegue Cuota de uso Job
  • 20. HACIENDO CAMBIOS EN EL “.gitlab-ci.yml” Gitlab
  • 22. ¡Gracias! ¿Tienes alguna duda? G. Mizael Mtz Hdz SOFTWARE ENGINEER