Retry 1806
This commit is contained in:
		
							
								
								
									
										69
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										69
									
								
								.drone.yml
									
									
									
									
									
								
							| @@ -15,46 +15,59 @@ trigger: | ||||
|  | ||||
| steps: | ||||
| - name: build-and-publish-backend | ||||
|   image: plugins/docker | ||||
|   image: docker:latest # Usamos la imagen oficial de Docker CLI | ||||
|   volumes: | ||||
|     - name: dockersock | ||||
|       path: /var/run/docker.sock | ||||
|   settings: | ||||
|     registry: | ||||
|       from_secret: REGISTRY_URL | ||||
|     repo: 192.168.4.128:5000/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME,,}-backend | ||||
|     username: | ||||
|   environment: | ||||
|     # Pasamos las credenciales de forma segura como variables de entorno | ||||
|     GITEA_USER: | ||||
|       from_secret: GITEA_USER | ||||
|     password: | ||||
|     ACTIONS_PAT: | ||||
|       from_secret: ACTIONS_PAT | ||||
|     dockerfile: Backend/GestionIntegral.Api/Dockerfile | ||||
|     tags: | ||||
|       - latest | ||||
|       - ${DRONE_COMMIT_SHA:0:8} | ||||
|     insecure: true | ||||
|     REGISTRY_URL: | ||||
|       from_secret: REGISTRY_URL | ||||
|   commands: | ||||
|     # 1. Iniciar sesión en el registro de Gitea | ||||
|     - echo "Iniciando sesión en ${REGISTRY_URL}..." | ||||
|     - docker login -u $GITEA_USER -p $ACTIONS_PAT $REGISTRY_URL | ||||
|      | ||||
|     # 2. Definir los tags para la imagen | ||||
|     - export TAG_LATEST="${REGISTRY_URL}/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME,,}-backend:latest" | ||||
|     - export TAG_COMMIT="${REGISTRY_URL}/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME,,}-backend:${DRONE_COMMIT_SHA:0:8}" | ||||
|     - echo "Creando imagen con tags: ${TAG_LATEST} y ${TAG_COMMIT}" | ||||
|  | ||||
|     # 3. Construir la imagen de Docker | ||||
|     - docker build -t $TAG_LATEST -t $TAG_COMMIT -f Backend/GestionIntegral.Api/Dockerfile . | ||||
|  | ||||
|     # 4. Subir ambos tags al registro | ||||
|     - docker push $TAG_LATEST | ||||
|     - docker push $TAG_COMMIT | ||||
|  | ||||
| - name: build-and-publish-frontend | ||||
|   image: plugins/docker | ||||
|   image: docker:latest | ||||
|   volumes: | ||||
|     - name: dockersock | ||||
|       path: /var/run/docker.sock | ||||
|   settings: | ||||
|     registry: | ||||
|       from_secret: REGISTRY_URL | ||||
|     repo: 192.168.4.128:5000/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME,,}-frontend | ||||
|     username: | ||||
|   environment: | ||||
|     GITEA_USER: | ||||
|       from_secret: GITEA_USER | ||||
|     password: | ||||
|     ACTIONS_PAT: | ||||
|       from_secret: ACTIONS_PAT | ||||
|     dockerfile: Frontend/Dockerfile | ||||
|     tags: | ||||
|       - latest | ||||
|       - ${DRONE_COMMIT_SHA:0:8} | ||||
|     insecure: true | ||||
|     REGISTRY_URL: | ||||
|       from_secret: REGISTRY_URL | ||||
|   commands: | ||||
|     - docker login -u $GITEA_USER -p $ACTIONS_PAT $REGISTRY_URL | ||||
|     - export TAG_LATEST="${REGISTRY_URL}/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME,,}-frontend:latest" | ||||
|     - export TAG_COMMIT="${REGISTRY_URL}/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME,,}-frontend:${DRONE_COMMIT_SHA:0:8}" | ||||
|     - docker build -t $TAG_LATEST -t $TAG_COMMIT -f Frontend/Dockerfile . | ||||
|     - docker push $TAG_LATEST | ||||
|     - docker push $TAG_COMMIT | ||||
|   depends_on: | ||||
|     - build-and-publish-backend | ||||
|  | ||||
| - name: deploy-to-production | ||||
|   # Este paso ya estaba bien y no necesita cambios | ||||
|   image: alpine:latest | ||||
|   environment: | ||||
|     SSH_KEY: | ||||
| @@ -74,29 +87,21 @@ steps: | ||||
|     GITEA_PAT: | ||||
|       from_secret: ACTIONS_PAT | ||||
|   commands: | ||||
|     # Preparar el entorno SSH | ||||
|     - apk add --no-cache openssh-client | ||||
|     - mkdir -p ~/.ssh | ||||
|     - echo "$SSH_KEY" > ~/.ssh/id_rsa | ||||
|     - chmod 600 ~/.ssh/id_rsa | ||||
|     - ssh-keyscan -H $PROD_HOST >> ~/.ssh/known_hosts | ||||
|  | ||||
|     # Ejecutar comandos remotos | ||||
|     - | | ||||
|       ssh $PROD_USER@$PROD_HOST << 'EOF' | ||||
|         echo "--- CONECTADO AL SERVIDOR DE PRODUCCIÓN ---" | ||||
|         cd /opt/gestion-integral | ||||
|          | ||||
|         # Exportamos las variables que necesita el docker-compose de la app | ||||
|         export DB_SA_PASSWORD="${DB_PASSWORD}" | ||||
|         export JWT_KEY="${JWT_KEY}" | ||||
|          | ||||
|         # Login, pull y deploy | ||||
|         docker login ${REGISTRY} -u ${GITEA_USER} -p ${GITEA_PAT} | ||||
|         docker compose pull | ||||
|         docker compose up -d | ||||
|         docker image prune -af | ||||
|          | ||||
|         echo "--- DESPLIEGUE COMPLETADO ---" | ||||
|       EOF | ||||
|   depends_on: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user