name: Build and Push to Registry on: [push] jobs: build-and-push: runs-on: ubuntu-latest steps: - name: Checkout code run: | git clone https://gitea.servernah.com/${{ gitea.repository }} . - name: Log in to Custom Registry run: | echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_URL }} -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin - name: Set up Docker Tags id: vars run: | # Use the short git commit hash as a tag echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT # Define the full image name echo "image_path=${{ secrets.REGISTRY_URL }}/servernah/devops-website" >> $GITHUB_OUTPUT - name: Build Docker Image run: | docker build -t ${{ steps.vars.outputs.image_path }}:${{ steps.vars.outputs.sha_short }} . docker tag ${{ steps.vars.outputs.image_path }}:${{ steps.vars.outputs.sha_short }} ${{ steps.vars.outputs.image_path }}:latest - name: Push Image to Registry run: | docker push ${{ steps.vars.outputs.image_path }}:${{ steps.vars.outputs.sha_short }} docker push ${{ steps.vars.outputs.image_path }}:latest - name: Cleanup if: always() run: docker logout ${{ secrets.REGISTRY_URL }}