diff --git a/.drone.yml b/.drone.yml index a173f83..cde16cd 100644 --- a/.drone.yml +++ b/.drone.yml @@ -12,14 +12,19 @@ steps: - 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 + from_secret: GITEA_USER password: from_secret: ACTIONS_PAT - repo: ${{DRONE_REPO_OWNER}}/${{DRONE_REPO_NAME}}-backend + # El Dockerfile a usar dockerfile: Backend/GestionIntegral.Api/Dockerfile + # Las etiquetas tags: - latest - ${{DRONE_COMMIT_SHA:0:8}} @@ -29,11 +34,11 @@ steps: settings: registry: from_secret: REGISTRY_URL + repo: ${{DRONE_REPO_OWNER}}/${{DRONE_REPO_NAME}}-frontend username: from_secret: GITEA_USER password: from_secret: ACTIONS_PAT - repo: ${{DRONE_REPO_OWNER}}/${{DRONE_REPO_NAME}}-frontend dockerfile: Frontend/Dockerfile tags: - latest @@ -41,6 +46,7 @@ steps: depends_on: - build-and-publish-backend +# --- ¡LA SECCIÓN FINAL Y CORRECTA! --- - name: deploy-to-production image: appleboy/drone-ssh settings: @@ -50,27 +56,25 @@ steps: from_secret: PROD_SERVER_USER key: from_secret: PROD_SERVER_SSH_KEY - environment: - SA_PASSWORD: - from_secret: DB_SA_PASSWORD_SECRET - JWT_KEY: - from_secret: JWT_KEY_SECRET - REGISTRY: - from_secret: REGISTRY_URL - GITEA_USER: - from_secret: GITEA_USER - GITEA_PAT: - from_secret: ACTIONS_PAT - commands: - # Todos los comandos de la lista deben tener esta indentación + + # --- ¡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} + + # El plugin usa 'script', no 'commands'. + script: - cd /opt/gestion-integral - - export DB_SA_PASSWORD=$${SA_PASSWORD} - - export JWT_KEY=$${JWT_KEY} - - docker login $${REGISTRY} -u $${GITEA_USER} -p $${GITEA_PAT} + - export DB_SA_PASSWORD # Las variables ya están en el entorno, solo las exportamos + - export JWT_KEY + - docker login $REGISTRY_URL -u $GITEA_USER -p $ACTIONS_PAT - docker compose pull - docker compose up -d - docker image prune -af - - # depends_on está fuera de 'settings', al mismo nivel que 'name', 'image', etc. + depends_on: - build-and-publish-frontend \ No newline at end of file