healthcheck 2

This commit is contained in:
Juraj Kubrican
2025-01-10 13:38:07 +01:00
parent 166eeca9e6
commit b0c9da758d

View File

@@ -16,7 +16,17 @@ jobs:
- name: Build Docker image - name: Build Docker image
run: | 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 - name: Run temporary container for health check
run: | run: |
@@ -24,26 +34,25 @@ jobs:
sleep 10 # Wait for the container to start sleep 10 # Wait for the container to start
if curl -f http://localhost:54322/health; then if curl -f http://localhost:54322/health; then
echo "Health check passed" echo "Health check passed"
docker stop temp-go-web-server
docker rm -f temp-go-web-server
else else
echo "Health check failed" echo "Health check failed"
docker logs temp-go-web-server docker logs temp-go-web-server
docker stop 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 exit 1
fi fi
- name: Stop and remove current container
# - name: Log in to GitHub Container Registry run: |
# uses: docker/login-action@v2 if [ "$(docker ps -q -f name=go-web-server)" ]; then
# with: docker stop go-web-server
# registry: ghcr.io docker rm go-web-server
# username: ${{ github.actor }} fi
# password: ${{ secrets.CR_PAT }}
# - name: Push Docker image to GitHub Container Registry - name: Run new container
# run: | run: |
# docker push "ghcr.io/jurajkubrican/knet/go-web-server:latest" 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"
# - name: Verify image is pushed
# run: |
# echo "Docker image pushed to: ghcr.io/jurajkubrican/knet/go-web-server:latest"