name: Build and Deploy on: push: branches: [master] jobs: build-and-push: runs-on: ubuntu-22.04 steps: - name: Check Docker Setup run: | echo "Docker Host: $DOCKER_HOST" echo "Docker TLS Verify: $DOCKER_TLS_VERIFY" echo "Docker Cert Path: $DOCKER_CERT_PATH" docker info - name: Checkout uses: actions/checkout@v4 - name: Set up Docker BuildX uses: docker/setup-buildx-action@v3 - name: Docker login uses: docker/login-action@v3 with: registry: ${{ vars.REGISTRY_URL }} username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_PASSWORD }} - name: Get Meta id: meta run: | echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT echo REPO_VERSION=${GITHUB_REF_NAME#v} >> $GITHUB_OUTPUT - name: Build and push uses: docker/build-push-action@v5 with: context: . file: ./Dockerfile push: true tags: | ${{ vars.REGISTRY_URL }}/${{ steps.meta.outputs.REPO_NAME }}:${{ github.sha }} ${{ vars.REGISTRY_URL }}/${{ steps.meta.outputs.REPO_NAME }}:latest - name: Deploy to cluster uses: actions-hub/kubectl@master env: KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }} with: args: apply -f manifests/