Skip to content

Commit 1dcd62c

Browse files
committed
add private repository
1 parent 35752fb commit 1dcd62c

2 files changed

Lines changed: 45 additions & 2 deletions

File tree

.github/workflows/build.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,35 @@ jobs:
1010
node_version: ["18", "20", "22", "24"]
1111
steps:
1212
- uses: actions/checkout@v2
13+
14+
- name: Login to Docker Hub
15+
uses: docker/login-action@v3
16+
with:
17+
username: ${{ secrets.DOCKER_USERNAME }}
18+
password: ${{ secrets.DOCKER_PASSWORD }}
19+
20+
- name: Login to Aliyun Registry
21+
uses: docker/login-action@v3
22+
with:
23+
registry: registry.cn-hangzhou.aliyuncs.com
24+
username: ${{ secrets.ALIYUN_DOCKER_USERNAME }}
25+
password: ${{ secrets.ALIYUN_DOCKER_PASSWORD }}
26+
27+
- name: Login to Private Registry
28+
uses: docker/login-action@v3
29+
with:
30+
registry: ${{ secrets.PRIVATE_REPOSITORY }}
31+
username: ${{ secrets.PRIVATE_REPOSITORY_USERNAME }}
32+
password: ${{ secrets.PRIVATE_REPOSITORY_PASSWORD }}
33+
1334
- name: Build the Docker image
1435
env:
1536
NODE_VERSION: ${{ matrix.node_version }}
1637
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
1738
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
1839
ALIYUN_DOCKER_USERNAME: ${{ secrets.ALIYUN_DOCKER_USERNAME }}
1940
ALIYUN_DOCKER_PASSWORD: ${{ secrets.ALIYUN_DOCKER_PASSWORD }}
41+
PRIVATE_REPOSITORY: ${{ secrets.PRIVATE_REPOSITORY }}
42+
PRIVATE_REPOSITORY_USERNAME: ${{ secrets.PRIVATE_REPOSITORY_USERNAME }}
43+
PRIVATE_REPOSITORY_PASSWORD: ${{ secrets.PRIVATE_REPOSITORY_PASSWORD }}
2044
run: bash build-image.sh

build-image.sh

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ env | sort
1717
TARGET_ARCHITECTURES="linux/arm64,linux/amd64" # 多架构列表(arm64对应ARM,amd64对应x86_64)
1818
DOCKER_HUB_REPO="${DOCKER_USERNAME}/webdev" # Docker Hub 仓库地址
1919
ALIYUN_REPO="registry.cn-hangzhou.aliyuncs.com/${DOCKER_USERNAME}/webdev" # 阿里云仓库地址
20+
PRIVATE_REPO="${PRIVATE_REPOSITORY}/mirror/${DOCKER_USERNAME}/webdev" # 私有仓库地址
2021
NODE_VERSION=${NODE_VERSION:-"latest"} # 默认Node版本为latest
2122

2223
echo "##### Build version: ${NODE_VERSION}, Target architectures: ${TARGET_ARCHITECTURES}"
@@ -60,9 +61,27 @@ if [[ ${NODE_VERSION} != "latest" && ${NODE_VERSION} != "NA" ]]; then
6061
--push .
6162
fi
6263

63-
# 6. 验证推送结果(可选:查看仓库中的多架构镜像信息)
64+
# 6. 构建并推送至私有仓库
65+
docker buildx build \
66+
--platform "${TARGET_ARCHITECTURES}" \
67+
--build-arg NODE_VERSION="${NODE_VERSION}" \
68+
-t "${PRIVATE_REPO}:latest" \
69+
--push .
70+
71+
if [[ ${NODE_VERSION} != "latest" && ${NODE_VERSION} != "NA" ]]; then
72+
docker buildx build \
73+
--platform "${TARGET_ARCHITECTURES}" \
74+
--build-arg NODE_VERSION="${NODE_VERSION}" \
75+
-t "${PRIVATE_REPO}:${NODE_VERSION}" \
76+
--push .
77+
fi
78+
79+
# 7. 验证推送结果(可选:查看仓库中的多架构镜像信息)
6480
echo "##### Check Docker Hub multi-arch image info"
6581
docker buildx imagetools inspect "${DOCKER_HUB_REPO}:latest"
6682

6783
echo "##### Check Aliyun multi-arch image info"
68-
docker buildx imagetools inspect "${ALIYUN_REPO}:latest"
84+
docker buildx imagetools inspect "${ALIYUN_REPO}:latest"
85+
86+
echo "##### Check Private Registry multi-arch image info"
87+
docker buildx imagetools inspect "${PRIVATE_REPO}:latest"

0 commit comments

Comments
 (0)