You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ArgoCD es una herramienta declarativa de **Continuous Delivery (CD)** para Kubernetes que permite gestionar y automatizar el despliegue de aplicaciones mediante **GitOps**. Este flujo asegura que el estado deseado de las aplicaciones esté siempre sincronizado con las configuraciones definidas en un repositorio Git.
@@ -629,8 +649,13 @@ Para realizar el despliegue se deberá seguir los siguientes pasos:
Este workflow automatiza la generación de releases, la construcción de imágenes Docker multiplataforma y el empaquetado de Helm Charts tras la ejecución exitosa del workflow "test" en la rama `main`.
760
803
@@ -771,7 +814,9 @@ Este workflow automatiza la generación de releases, la construcción de imágen
771
814
echo"$VERSION"> semantic_release_version.txt
772
815
fi
773
816
```
774
-

817
+
<p align="center">
818
+
<img src="./img/workflow-sematic-release.png" alt="Workflow para semantic release" width="80%">
819
+
</p>
775
820
- **Docker**:
776
821
- Construcción de imágenes multiplataforma con QEMU y Buildx.
777
822
```sh
@@ -784,8 +829,13 @@ Este workflow automatiza la generación de releases, la construcción de imágen
784
829
labels: ${{ steps.meta.outputs.labels }}
785
830
```
786
831
- Publicación en GHCR y Docker Hub.
787
-

788
-

832
+
<p align="center">
833
+
<img src="./img/workflows-dockerhub.png" alt="Workflow de DockerHub" width="80%">
834
+
</p>
835
+
836
+
<p align="center">
837
+
<img src="./img/imagenes-dockerhub.png" alt="Imágenes en DockerHub" width="60%">
838
+
</p>
789
839
790
840
- **Helm**: Actualización y empaquetado de Helm Charts para versiones consistentes.
791
841
```sh
@@ -796,48 +846,36 @@ Este workflow automatiza la generación de releases, la construcción de imágen
796
846
```
797
847
- **Caché de herramientas**: Optimiza la instalación de yq, helm-docs y dependencias npm.
798
848
799
-

800
-

<img src="./img/github_artefactos.png" alt="Artefactos con versión en GitHub" width="20%">
855
+
</p>
802
856
803
857
804
-
# Guía de Despliegue de Infraestructura y Aplicación en GCP
858
+
859
+
# Migración y despliegue en Google Cloud
805
860
806
861
Este proyecto contiene los archivos necesarios para desplegar una infraestructura en Google Cloud Platform (GCP), utilizando **Terraform** para la creación de un clúster de Kubernetes (GKE), una base de datos gestionada (Cloud SQL), y el despliegue de la aplicación Laravel con Helm Charts.
807
862
808
863
## Estructura de archivos
809
864
810
865
```
811
-
├── Terraform-rev/
812
-
│ ├── main.tf # Configuración principal de Terraform
813
-
│ ├── variables.tf # Variables globales
814
-
│ ├── provider.tf # Proveedores de Terraform (GCP y Kubernetes)
815
-
│ ├── gke-cluster.tf # Configuración del clúster GKE
<imgsrc="./img/instancias-GCP.png"alt="Instancias en el cluster"width="90%">
919
+
</p>
920
+
Comprobamos que se creen los nodos.
921
+
<palign="center">
922
+
<imgsrc="./img/nodos-cluster.png"alt="Nodos en el cluster"width="90%">
923
+
</p>
924
+
925
+
- Usando los comandos de `kubectl`, comprobamos que se hayan desplegado los recursos
926
+
<palign="center">
927
+
<imgsrc="./img/all-recursos-GCP.png"alt="Despliegue de los recursos"width="80%">
928
+
</p>
929
+
Verificamos los pods.
930
+
<palign="center">
931
+
<imgsrc="./img/podsGCP.png"alt="Despliegue de los pods"width="90%">
932
+
</p>
933
+
891
934
892
-
- Variables de entorno para Laravel. Verificar de que la aplicación Laravel esté configurada para conectarse a la base de datos gestionada (Cloud SQL) utilizando variables de entorno en el archivo .env.
893
-
Por ejemplo:
894
-
```sh
895
-
DB_HOST=<CONNECTION_NAME>
896
-
DB_PORT=3306
897
-
DB_DATABASE=mydatabase
898
-
DB_USERNAME=root
899
-
DB_PASSWORD=rootpassword
900
-
```
901
-
## Outputs
902
-
Tras ejecutar terraform apply, obtendrás los siguientes outputs:
903
-
```sh
904
-
gke_cluster_endpoint: Endpoint del clúster GKE.
905
-
cloudsql_instance_connection_name: Conexión de la instancia de Cloud SQL.
906
-
ingress_host: URL de la aplicación desplegada.
907
-
```
908
935
## Limpieza de recursos
909
936
910
937
Para eliminar todos los recursos creados, ejecuta:
0 commit comments