Retry 1806
This commit is contained in:
		
							
								
								
									
										75
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										75
									
								
								.drone.yml
									
									
									
									
									
								
							| @@ -9,52 +9,65 @@ volumes: | |||||||
|  |  | ||||||
| trigger: | trigger: | ||||||
|   branch: |   branch: | ||||||
|   - main |     - main | ||||||
|   event: |   event: | ||||||
|   - push |     - push | ||||||
|  |  | ||||||
| steps: | steps: | ||||||
| - name: build-and-publish-backend | - name: build-and-publish-backend | ||||||
|   image: plugins/docker |   image: docker:latest # Usamos la imagen oficial de Docker CLI | ||||||
|   volumes: |   volumes: | ||||||
|     - name: dockersock |     - name: dockersock | ||||||
|       path: /var/run/docker.sock |       path: /var/run/docker.sock | ||||||
|   settings: |   environment: | ||||||
|     registry: |     # Pasamos las credenciales de forma segura como variables de entorno | ||||||
|       from_secret: REGISTRY_URL |     GITEA_USER: | ||||||
|     repo: 192.168.4.128:5000/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME,,}-backend |  | ||||||
|     username: |  | ||||||
|       from_secret: GITEA_USER |       from_secret: GITEA_USER | ||||||
|     password: |     ACTIONS_PAT: | ||||||
|       from_secret: ACTIONS_PAT |       from_secret: ACTIONS_PAT | ||||||
|     dockerfile: Backend/GestionIntegral.Api/Dockerfile |     REGISTRY_URL: | ||||||
|     tags: |       from_secret: REGISTRY_URL | ||||||
|       - latest |   commands: | ||||||
|       - ${DRONE_COMMIT_SHA:0:8} |     # 1. Iniciar sesión en el registro de Gitea | ||||||
|     insecure: true |     - 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 | - name: build-and-publish-frontend | ||||||
|   image: plugins/docker |   image: docker:latest | ||||||
|   volumes: |   volumes: | ||||||
|     - name: dockersock |     - name: dockersock | ||||||
|       path: /var/run/docker.sock |       path: /var/run/docker.sock | ||||||
|   settings: |   environment: | ||||||
|     registry: |     GITEA_USER: | ||||||
|       from_secret: REGISTRY_URL |  | ||||||
|     repo: 192.168.4.128:5000/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME,,}-frontend |  | ||||||
|     username: |  | ||||||
|       from_secret: GITEA_USER |       from_secret: GITEA_USER | ||||||
|     password: |     ACTIONS_PAT: | ||||||
|       from_secret: ACTIONS_PAT |       from_secret: ACTIONS_PAT | ||||||
|     dockerfile: Frontend/Dockerfile |     REGISTRY_URL: | ||||||
|     tags: |       from_secret: REGISTRY_URL | ||||||
|       - latest |   commands: | ||||||
|       - ${DRONE_COMMIT_SHA:0:8} |     - docker login -u $GITEA_USER -p $ACTIONS_PAT $REGISTRY_URL | ||||||
|     insecure: true |     - 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: |   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: | ||||||
| @@ -74,30 +87,22 @@ 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: | ||||||
|     - build-and-publish-frontend |     - build-and-publish-frontend | ||||||
		Reference in New Issue
	
	Block a user