From b0c9da758d72194f2ae24d4d4351f52232824855 Mon Sep 17 00:00:00 2001 From: Juraj Kubrican Date: Fri, 10 Jan 2025 13:38:07 +0100 Subject: [PATCH] healthcheck 2 --- .github/workflows/docker-build-self.yml | 41 +++++++++++++++---------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/.github/workflows/docker-build-self.yml b/.github/workflows/docker-build-self.yml index 77f9bcd..f72c2ae 100644 --- a/.github/workflows/docker-build-self.yml +++ b/.github/workflows/docker-build-self.yml @@ -16,7 +16,17 @@ jobs: - name: Build Docker image run: | - docker build -t "go-web-server:latest" . + IMAGE_NAME="ghcr.io/jurajkubrican/knet/go-web-server" + RUN_NUMBER="${{ github.run_number }}" + docker build -t "$IMAGE_NAME:latest" -t "$IMAGE_NAME:${{ github.run_number }}" . + + - name: Ensure no existing temp container + run: | + if [ "$(docker ps -aq -f name=temp-go-web-server)" ]; then + docker stop temp-go-web-server || true + docker rm temp-go-web-server || true + fi + - name: Run temporary container for health check run: | @@ -24,26 +34,25 @@ jobs: sleep 10 # Wait for the container to start if curl -f http://localhost:54322/health; then echo "Health check passed" + docker stop temp-go-web-server + docker rm -f temp-go-web-server else echo "Health check failed" docker logs temp-go-web-server docker stop temp-go-web-server - docker rm temp-go-web-server + docker rm -f temp-go-web-server exit 1 fi - - # - name: Log in to GitHub Container Registry - # uses: docker/login-action@v2 - # with: - # registry: ghcr.io - # username: ${{ github.actor }} - # password: ${{ secrets.CR_PAT }} + - name: Stop and remove current container + run: | + if [ "$(docker ps -q -f name=go-web-server)" ]; then + docker stop go-web-server + docker rm go-web-server + fi - # - name: Push Docker image to GitHub Container Registry - # run: | - # docker push "ghcr.io/jurajkubrican/knet/go-web-server:latest" - - # - name: Verify image is pushed - # run: | - # echo "Docker image pushed to: ghcr.io/jurajkubrican/knet/go-web-server:latest" \ No newline at end of file + - name: Run new container + run: | + IMAGE_NAME="ghcr.io/jurajkubrican/knet/go-web-server" + docker run -d --name go-web-server -p 54321:54321 -v "$(pwd)/data:/app/data" "$IMAGE_NAME:latest" + \ No newline at end of file