diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 6da1d42..7efce49 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 -d --name calculatorcli-prod ${{ secrets.DOCKERHUB_USERNAME }}/calculatorcli:latest tail -f /dev/null