name: Build and Push Docker Image on: [push] # 只要有代碼更新或上傳檔案,自動觸發 jobs: build: runs-on: ubuntu-latest # 對應你的 Runner steps: - name: Check out code uses: actions/checkout@v3 - name: Debug Network (Ping Test) run: | ping -c 3 docker || true ping -c 3 server || true #- name: Test Docker Connection # run: docker version - name: Build and Push run: | # 登入內建 Registry (變數會自動填入) # 使用 Gitea 的固定 IP (已经在 DinD 中配置为 insecure) # 使用 Gitea 自动提供的 token echo "${{ secrets.DOCKER_TOKEN }}" | docker login 172.24.0.10:3000 -u ${{ github.repository_owner }} --password-stdin # 转换为小寫 IMAGE_NAME=$(echo "${{ github.repository }}" | tr '[:upper:]' '[:lower:]') docker build -f docker/Dockerfile -t $IMAGE_NAME . docker push $IMAGE_NAME echo "編譯完成!" echo "內部地址: server:3000/${{ gitea.repository }}:latest" echo "外部 Portainer 拉取網址: 192.168.10.100:3000/${{ gitea.repository }}:latest"