Va
This commit is contained in:
		
							
								
								
									
										46
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								.drone.yml
									
									
									
									
									
								
							| @@ -9,22 +9,18 @@ trigger: | ||||
|       - push | ||||
|  | ||||
|     steps: | ||||
|     # --- Los pasos de build-and-publish no cambian, ya están bien --- | ||||
|     - name: build-and-publish-backend | ||||
|       image: plugins/docker | ||||
|       settings: | ||||
|     # El registro es la IP pública para que Docker pueda subir la imagen | ||||
|         registry: | ||||
|           from_secret: REGISTRY_URL | ||||
|     # El repo se construye con el dueño y nombre del repo en Gitea | ||||
|         repo: ${{DRONE_REPO_OWNER}}/${{DRONE_REPO_NAME}}-backend | ||||
|     # El usuario y la contraseña (PAT) para el login | ||||
|         username: | ||||
|           from_secret: GITEA_USER | ||||
|         password: | ||||
|           from_secret: ACTIONS_PAT | ||||
|     # El Dockerfile a usar | ||||
|         dockerfile: Backend/GestionIntegral.Api/Dockerfile | ||||
|     # Las etiquetas | ||||
|         tags: | ||||
|           - latest | ||||
|           - ${{DRONE_COMMIT_SHA:0:8}} | ||||
| @@ -46,31 +42,39 @@ steps: | ||||
|       depends_on: | ||||
|         - build-and-publish-backend | ||||
|  | ||||
| # --- ¡LA SECCIÓN FINAL Y CORRECTA! --- | ||||
|     # --- ¡LA VERSIÓN FINAL Y CORRECTA! --- | ||||
|     - name: deploy-to-production | ||||
|       image: appleboy/drone-ssh | ||||
|   settings: | ||||
|     host: | ||||
|       # Ya no usamos 'settings', el plugin lee los secretos directamente del entorno del paso. | ||||
|       environment: | ||||
|         HOST: | ||||
|           from_secret: PROD_SERVER_HOST | ||||
|     username: | ||||
|         USERNAME: | ||||
|           from_secret: PROD_SERVER_USER | ||||
|     key: | ||||
|         KEY: | ||||
|           from_secret: PROD_SERVER_SSH_KEY | ||||
|          | ||||
|     # --- ¡LA SINTAXIS CORRECTA! --- | ||||
|     # Le pasamos los secretos como variables de entorno al script | ||||
|     env_vars: | ||||
|       - DB_SA_PASSWORD=${DB_SA_PASSWORD_SECRET} | ||||
|       - JWT_KEY=${JWT_KEY_SECRET} | ||||
|       - REGISTRY_URL=${REGISTRY_URL} | ||||
|       - GITEA_USER=${GITEA_USER} | ||||
|       - ACTIONS_PAT=${ACTIONS_PAT} | ||||
|         # Pasamos TODOS los secretos que el script necesita como variables | ||||
|         # de entorno al contenedor del plugin. | ||||
|         DB_SA_PASSWORD: | ||||
|           from_secret: DB_SA_PASSWORD_SECRET | ||||
|         JWT_KEY: | ||||
|           from_secret: JWT_KEY_SECRET | ||||
|         REGISTRY_URL: | ||||
|           from_secret: REGISTRY_URL | ||||
|         GITEA_USER: | ||||
|           from_secret: GITEA_USER | ||||
|         ACTIONS_PAT: | ||||
|           from_secret: ACTIONS_PAT | ||||
|        | ||||
|     # El plugin usa 'script', no 'commands'. | ||||
|       # El plugin usa 'script' y ahora las variables las tenemos que | ||||
|       # pasar como argumentos al script o usarlas directamente. | ||||
|       script: | ||||
|       - cd /opt/gestion-integral | ||||
|       - export DB_SA_PASSWORD # Las variables ya están en el entorno, solo las exportamos | ||||
|         # El comando 'export' es crucial para que 'docker compose' los vea | ||||
|         - export DB_SA_PASSWORD | ||||
|         - export JWT_KEY | ||||
|         - echo "Conectando a $HOST como $USERNAME..." | ||||
|         - cd /opt/gestion-integral | ||||
|         - docker login $REGISTRY_URL -u $GITEA_USER -p $ACTIONS_PAT | ||||
|         - docker compose pull | ||||
|         - docker compose up -d | ||||
|   | ||||
		Reference in New Issue
	
	Block a user