Files
knet/.github/workflows/docker-build-self.yml
Juraj Kubrican 594273a056 health check
2025-01-10 13:33:05 +01:00

49 lines
1.4 KiB
YAML

name: Build and Push Docker Image
on:
push:
branches:
- main
- test
jobs:
build-and-push:
runs-on: self-hosted
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build Docker image
run: |
docker build -t "go-web-server:latest" .
- name: Run temporary container for health check
run: |
docker run -d --name temp-go-web-server -p 54322:54321 go-web-server:latest
sleep 10 # Wait for the container to start
if curl -f http://localhost:54322/health; then
echo "Health check passed"
else
echo "Health check failed"
docker logs temp-go-web-server
docker stop temp-go-web-server
docker rm 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: 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"