From 09bfcc4cc4a501af3fa203a3f0e1676dbc1b0c38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Garc=C3=ADa=20L=C3=B3pez?= Date: Wed, 3 Dec 2025 13:47:30 +0100 Subject: [PATCH 1/2] Dockerhub Action y despliegue en servidor desde Dockerhub --- .github/workflows/linter.yml | 40 +++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 6da1d42..03ba95f 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -21,27 +21,43 @@ jobs: - name: Ejecutar Tests run: php tests.php - construir-imagen: + construir-y-publicar: + needs: verificar-sintaxis runs-on: ubuntu-latest steps: - name: Descargar el código uses: actions/checkout@v4 - - name: Construir imagen Docker - run: docker build -t calculadora-cli . + - name: Login en Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Construir y subir + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: ${{ secrets.DOCKERHUB_USERNAME}}/calculatorcli:latest despliegue: - needs: [verificar-sintaxis, construir-imagen] + needs: [verificar-sintaxis, construir-y-publicar] runs-on: self-hosted steps: - - name: Descargar el código - uses: actions/checkout@v4 +# - name: Descargar el código +# uses: actions/checkout@v4 + +# - name: Construir la imagen +# run: docker build -t calculatorcli-prod . - - name: Construir la imagen - run: docker build -t calculatorcli-prod . + - name: Login en Docker Hub + run: echo "${{ secrets.DOCKERHUB_PASSWORD}}" | docker login -u ${{ secrets.DOCKERHUB_USERNAME}} --password-stdin - - name: Despliegue de contenedor + - name: Actualizar contenedor run: | - echo "🚀 Desplegando en el servidor..." - docker run --rm calculatorcli-prod - echo "🆗 ¡Ejecución en servidor completada con éxito!" + docker stop calculatorcli-prod || true + docker rm calculatorcli-prod || true + # Descargamos usando secrets + docker pull ${{ secrets.DOCKERHUB_USERNAME}}/calculatorcli:latest + docker run --name calculatorcli-prod ${{ secrets.DOCKERHUB_USERNAME }}/calculatorcli:latest From c6e15cff4602b13dd7093c0f65824beb9295c528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20Garc=C3=ADa=20L=C3=B3pez?= Date: Wed, 3 Dec 2025 13:49:56 +0100 Subject: [PATCH 2/2] Fix de prueba para que el contenedor no se pare --- .github/workflows/linter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 03ba95f..7efce49 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -60,4 +60,4 @@ jobs: docker rm calculatorcli-prod || true # Descargamos usando secrets docker pull ${{ secrets.DOCKERHUB_USERNAME}}/calculatorcli:latest - docker run --name calculatorcli-prod ${{ secrets.DOCKERHUB_USERNAME }}/calculatorcli:latest + docker run -d --name calculatorcli-prod ${{ secrets.DOCKERHUB_USERNAME }}/calculatorcli:latest tail -f /dev/null