diff --git a/.gitea/workflows/docker-build-push.yml b/.gitea/workflows/docker-build-push.yml new file mode 100644 index 0000000..7b2cfce --- /dev/null +++ b/.gitea/workflows/docker-build-push.yml @@ -0,0 +1,34 @@ +name: Docker Build and Push + +on: + push: + tags: + - "v*" + +jobs: + docker: + runs-on: amd64-ubuntu-24.04 + + steps: + - name: Clone repository + run: | + git clone "${{ gitea.server_url }}/${{ gitea.repository }}.git" . + git checkout "${{ gitea.ref_name }}" + + - name: Login to Docker Registry + run: | + echo "${{ secrets.DOCKER_PASSWORD }}" | docker login "${{ secrets.DOCKER_REGISTRY }}" \ + -u "${{ secrets.DOCKER_USERNAME }}" \ + --password-stdin + + - name: Build Docker Image + run: | + IMAGE_NAME="$(echo "${{ gitea.repository }}" | tr '[:upper:]' '[:lower:]' | tr '_' '-')" + docker build \ + -t "${{ secrets.DOCKER_REGISTRY }}/${IMAGE_NAME}:${{ gitea.ref_name }}" \ + . + + - name: Push Docker Image + run: | + IMAGE_NAME="$(echo "${{ gitea.repository }}" | tr '[:upper:]' '[:lower:]' | tr '_' '-')" + docker push "${{ secrets.DOCKER_REGISTRY }}/${IMAGE_NAME}:${{ gitea.ref_name }}"