Browse Source

feat: aliyun registry (#14)

* feat: aliyu registry

* fix

* fix

* fix
zijiren 10 months ago
parent
commit
8e7cce38c5
1 changed files with 30 additions and 3 deletions
  1. 30 3
      .github/workflows/release.yml

+ 30 - 3
.github/workflows/release.yml

@@ -17,8 +17,10 @@ on:
       - "**/*.yaml"
 
 env:
-  DOCKERHUB_REPO: ${{ secrets.DOCKERHUB_USERNAME != '' && format('{0}/{1}', secrets.DOCKERHUB_USERNAME, 'aiproxy') || '' }}
+  DOCKERHUB_REPO: ${{ secrets.DOCKERHUB_REPO != '' && secrets.DOCKERHUB_REPO || secrets.DOCKERHUB_USERNAME != '' && format('{0}/{1}', secrets.DOCKERHUB_USERNAME, 'aiproxy') || '' }}
   GHCR_REPO: ghcr.io/${{ github.repository }}
+  ALIYUN_REGISTRY: ${{ secrets.ALIYUN_REGISTRY }}
+  ALIYUN_REPO: ${{ secrets.ALIYUN_REPO != '' && secrets.ALIYUN_REPO || secrets.ALIYUN_USERNAME != '' && format('{0}/{1}/{2}', secrets.ALIYUN_REGISTRY, secrets.ALIYUN_USERNAME, 'aiproxy') || '' }}
 
 jobs:
   release:
@@ -117,6 +119,14 @@ jobs:
           username: ${{ secrets.DOCKERHUB_USERNAME }}
           password: ${{ secrets.DOCKERHUB_TOKEN }}
 
+      - name: Login to Aliyun Registry
+        uses: docker/login-action@v3
+        if: ${{ github.event_name != 'pull_request' && env.ALIYUN_REGISTRY }}
+        with:
+          registry: ${{ env.ALIYUN_REGISTRY }}
+          username: ${{ secrets.ALIYUN_USERNAME }}
+          password: ${{ secrets.ALIYUN_PASSWORD }}
+
       - name: Checkout
         uses: actions/checkout@v4
 
@@ -130,6 +140,7 @@ jobs:
           images: |
             ${{ env.DOCKERHUB_REPO }}
             ${{ env.GHCR_REPO }}
+            ${{ env.ALIYUN_REPO }}
 
       - name: Build for ${{ matrix.arch }}
         id: build
@@ -138,7 +149,7 @@ jobs:
           context: .
           labels: ${{ steps.meta.outputs.labels }}
           platforms: linux/${{ matrix.arch }}
-          outputs: type=image,"name=${{ env.DOCKERHUB_REPO && format('{0},{1}', env.DOCKERHUB_REPO, env.GHCR_REPO) || env.GHCR_REPO }}",name-canonical=true,push-by-digest=${{ github.event_name != 'pull_request' }},push=${{ github.event_name != 'pull_request' }}
+          outputs: type=image,"name=${{ env.GHCR_REPO }}${{ env.DOCKERHUB_REPO && format(',{0}', env.DOCKERHUB_REPO) }}${{ env.ALIYUN_REPO && format(',{0}', env.ALIYUN_REPO) }}",name-canonical=true,push-by-digest=${{ github.event_name != 'pull_request' }},push=${{ github.event_name != 'pull_request' }}
 
       - name: Export digest
         run: |
@@ -174,6 +185,14 @@ jobs:
           username: ${{ secrets.DOCKERHUB_USERNAME }}
           password: ${{ secrets.DOCKERHUB_TOKEN }}
 
+      - name: Login to Aliyun Registry
+        uses: docker/login-action@v3
+        if: ${{ github.event_name != 'pull_request' && env.ALIYUN_REGISTRY }}
+        with:
+          registry: ${{ env.ALIYUN_REGISTRY }}
+          username: ${{ secrets.ALIYUN_USERNAME }}
+          password: ${{ secrets.ALIYUN_PASSWORD }}
+
       - name: Download digests
         uses: actions/download-artifact@v4
         with:
@@ -191,6 +210,7 @@ jobs:
           images: |
             ${{ env.DOCKERHUB_REPO }}
             ${{ env.GHCR_REPO }}
+            ${{ env.ALIYUN_REPO }}
           tags: |
             type=ref,event=branch
             type=ref,event=pr
@@ -204,9 +224,13 @@ jobs:
         working-directory: ${{ runner.temp }}/digests
         run: |
           if [ -n "${{ env.DOCKERHUB_REPO }}" ]; then
-          docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
+            docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
               $(printf '${{ env.DOCKERHUB_REPO }}@sha256:%s ' *)
           fi
+          if [ -n "${{ env.ALIYUN_REPO }}" ]; then
+            docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
+              $(printf '${{ env.ALIYUN_REPO }}@sha256:%s ' *)
+          fi
           docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
             $(printf '${{ env.GHCR_REPO }}@sha256:%s ' *)
 
@@ -215,4 +239,7 @@ jobs:
           if [ -n "${{ env.DOCKERHUB_REPO }}" ]; then
             docker buildx imagetools inspect ${{ env.DOCKERHUB_REPO }}:${{ steps.meta.outputs.version }}
           fi
+          if [ -n "${{ env.ALIYUN_REPO }}" ]; then
+            docker buildx imagetools inspect ${{ env.ALIYUN_REPO }}:${{ steps.meta.outputs.version }}
+          fi
           docker buildx imagetools inspect ${{ env.GHCR_REPO }}:${{ steps.meta.outputs.version }}