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