From b4623b8a6fc29a32c280d5079a5a1f5e55b17167 Mon Sep 17 00:00:00 2001 From: "kim.dev.6789" Date: Thu, 15 Jan 2026 20:30:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E4=B8=BA=E6=8E=A8=E9=80=81=E5=88=B0do?= =?UTF-8?q?cker=20hub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/build.yml | 11 ++-- .gitea/workflows/itom-platform-auto-build.yml | 52 +++++-------------- .github/workflows/build-docker-image.yml | 7 ++- ...cker-build-and-release-services-images.yml | 11 ++-- .github/workflows/release.yml | 7 ++- 5 files changed, 38 insertions(+), 50 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 58a2c2e..f726d5d 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -24,7 +24,11 @@ concurrency: env: REGISTRY: docker.io - DOCKER_USER: ${{ secrets.DOCKER_USERNAME || 'openim' }} + # Docker Hub 命名空间:itom-group + DOCKER_USER: itom-group + # Docker Hub 凭证来自仓库 Secrets + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} GO_VERSION: "1.24" jobs: @@ -97,8 +101,9 @@ jobs: - name: 登录到 Docker Hub uses: docker/login-action@v3.1.0 with: - username: ${{ env.DOCKER_USER }} - password: ${{ secrets.DOCKER_PASSWORD }} + # 使用账号登录,镜像仍推送到 DOCKER_USER 命名空间 + username: ${{ env.DOCKER_USERNAME }} + password: ${{ env.DOCKER_PASSWORD }} - name: 构建和推送 Docker 镜像 run: | diff --git a/.gitea/workflows/itom-platform-auto-build.yml b/.gitea/workflows/itom-platform-auto-build.yml index bdee78a..fa6d8c1 100644 --- a/.gitea/workflows/itom-platform-auto-build.yml +++ b/.gitea/workflows/itom-platform-auto-build.yml @@ -15,8 +15,10 @@ jobs: runs-on: ubuntu-latest env: - REGISTRY: git.imall.cloud - IMAGE: git.imall.cloud/itom-group/chat-deploy + # 使用 Docker Hub 作为镜像仓库 + REGISTRY: docker.io + # Docker Hub 命名空间:itom-group + IMAGE: docker.io/itom-group/chat-deploy steps: - name: Install git shell: sh @@ -141,47 +143,17 @@ jobs: - name: Login registry shell: sh env: - GIT_USER: ${{ secrets.GIT_USER }} - GIT_TOKEN: ${{ secrets.GIT_TOKEN }} - REGISTRY_USER: ${{ secrets.REGISTRY_USER }} - REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} - AUTO_REGISTRY_USER: ${{ env.DOCKER_USER }} - AUTO_REGISTRY_PASS: ${{ secrets.DOCKER_PASSWORD }} - + # Docker Hub 凭证来自仓库 Secrets + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} run: | set -eu - login_try() { - local user="$1" - local pass="$2" - local label="$3" - if [ -z "$user" ] || [ -z "$pass" ]; then - return 1 - fi - if echo "$pass" | docker login "$REGISTRY" -u "$user" --password-stdin >/dev/null 2>&1; then - echo "Registry login ok ($label)" - return 0 - fi - return 1 - } - - if login_try "$REGISTRY_USER" "$REGISTRY_PASSWORD" "REGISTRY_USER"; then - exit 0 + # 使用 Docker Hub 凭证登录,避免触发私有仓库上传限制 + if [ -z "${DOCKER_USERNAME:-}" ] || [ -z "${DOCKER_PASSWORD:-}" ]; then + echo "ERROR: 缺少 Docker Hub 凭证(DOCKER_USERNAME/DOCKER_PASSWORD)。" + exit 1 fi - if login_try "$GIT_USER" "$GIT_TOKEN" "GIT_USER"; then - exit 0 - fi - if login_try "${AUTO_REGISTRY_USER:-}" "${AUTO_REGISTRY_PASS:-}" "AUTO_REGISTRY"; then - exit 0 - fi - - ACTOR="${GITEA_ACTOR:-${FORGEJO_ACTOR:-${GITHUB_ACTOR:-}}}" - JOB_TOKEN="${GITEA_TOKEN:-${FORGEJO_TOKEN:-${GITHUB_TOKEN:-}}}" - if login_try "$ACTOR" "$JOB_TOKEN" "JOB_TOKEN"; then - exit 0 - fi - - echo "ERROR: registry login failed. Provide REGISTRY_USER/REGISTRY_PASSWORD or GIT_USER/GIT_TOKEN with packages write permission." - exit 1 + echo "$DOCKER_PASSWORD" | docker login "$REGISTRY" -u "$DOCKER_USERNAME" --password-stdin - name: Build and push images shell: sh diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 56f9f54..ec7b43f 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -19,6 +19,9 @@ on: env: GO_VERSION: "1.22" + # Docker Hub 凭证来自仓库 Secrets + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} jobs: build-image: @@ -33,8 +36,8 @@ jobs: - name: Log in to Docker Hub uses: docker/login-action@v3.3.0 with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} + username: ${{ env.DOCKER_USERNAME }} + password: ${{ env.DOCKER_PASSWORD }} - name: Log in to GitHub Container Registry uses: docker/login-action@v3.3.0 diff --git a/.github/workflows/docker-build-and-release-services-images.yml b/.github/workflows/docker-build-and-release-services-images.yml index bfb018e..128e21f 100644 --- a/.github/workflows/docker-build-and-release-services-images.yml +++ b/.github/workflows/docker-build-and-release-services-images.yml @@ -13,6 +13,11 @@ on: required: true default: "v3.8.3" +env: + # Docker Hub 凭证来自仓库 Secrets + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + jobs: build-and-push: runs-on: ubuntu-latest @@ -27,8 +32,8 @@ jobs: - name: Log in to Docker Hub uses: docker/login-action@v3.3.0 with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} + username: ${{ env.DOCKER_USERNAME }} + password: ${{ env.DOCKER_PASSWORD }} - name: Log in to GitHub Container Registry uses: docker/login-action@v3.3.0 @@ -73,7 +78,7 @@ jobs: # Read each tag and append --tag arguments while IFS= read -r tag; do - tag_args+=(--tag "${{ secrets.DOCKER_USERNAME }}/$IMAGE_NAME:$tag") + tag_args+=(--tag "${{ env.DOCKER_USERNAME }}/$IMAGE_NAME:$tag") tag_args+=(--tag "ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME:$tag") tag_args+=(--tag "registry.cn-hangzhou.aliyuncs.com/openimsdk/$IMAGE_NAME:$tag") done <<< "${{ steps.meta.outputs.tags }}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a46b1c8..6c3d09f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,6 +16,9 @@ jobs: runs-on: ubuntu-latest env: DOCKER_CLI_EXPERIMENTAL: "enabled" + # Docker Hub 凭证来自仓库 Secrets + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} steps: - name: Checkout uses: actions/checkout@v3 @@ -43,8 +46,8 @@ jobs: - name: Login to Docker Hub uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} + username: ${{ env.DOCKER_USERNAME }} + password: ${{ env.DOCKER_PASSWORD }} - name: Login to GitHub Container Registry uses: docker/login-action@v2