This commit is contained in:
@@ -51,32 +51,36 @@ jobs:
|
||||
echo "$ACR_PASSWORD" | docker login "$ACR_REGISTRY" \
|
||||
--username "$ACR_USERNAME" --password-stdin
|
||||
|
||||
- name: Ensure proxy_net exists
|
||||
run: docker network inspect proxy_net >/dev/null 2>&1 || docker network create proxy_net
|
||||
|
||||
- name: Create buildx builder on proxy_net
|
||||
run: |
|
||||
docker buildx rm ci-builder >/dev/null 2>&1 || true
|
||||
docker buildx create \
|
||||
--name ci-builder --use \
|
||||
--driver docker-container \
|
||||
--driver-opt network=proxy_net \
|
||||
--driver-opt env.http_proxy=http://proxy:7890,env.https_proxy=http://proxy:7890
|
||||
|
||||
- name: Build Docker Image (via proxy)
|
||||
- name: Build Docker Image (proxy_net, one step)
|
||||
env:
|
||||
IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }}
|
||||
TAG: ${{ steps.meta.outputs.tag }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
# 1) 确保网络存在
|
||||
docker network inspect proxy_net >/dev/null 2>&1 || docker network create proxy_net
|
||||
|
||||
# 2) 重新创建并启用 builder,加入 proxy_net 且注入默认代理
|
||||
docker buildx rm ci-builder >/dev/null 2>&1 || true
|
||||
docker buildx create \
|
||||
--name ci-builder --use \
|
||||
--driver docker-container \
|
||||
--driver-opt network=proxy_net \
|
||||
--driver-opt env.http_proxy=http://proxy:7890,env.https_proxy=http://proxy:7890 \
|
||||
>/dev/null
|
||||
|
||||
# 3) 构建(通过代理)。若想本步直接推仓库,把 --load 改成 --push
|
||||
docker buildx build \
|
||||
--builder ci-builder \
|
||||
--progress=plain \
|
||||
--build-arg HTTP_PROXY=http://proxy:7890 \
|
||||
--build-arg HTTPS_PROXY=http://proxy:7890 \
|
||||
--build-arg NO_PROXY=localhost,127.0.0.1,proxy \
|
||||
--load \
|
||||
-t "${IMAGE}:${TAG}" -f docker/Dockerfile .
|
||||
|
||||
|
||||
- name: Push Docker Image
|
||||
env:
|
||||
IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }}
|
||||
|
||||
@@ -7,7 +7,11 @@ ARG NO_PROXY
|
||||
ENV HTTP_PROXY=$HTTP_PROXY \
|
||||
HTTPS_PROXY=$HTTPS_PROXY \
|
||||
NO_PROXY=$NO_PROXY \
|
||||
http_proxy=$HTTP_PROXY \
|
||||
https_proxy=$HTTPS_PROXY \
|
||||
no_proxy=$NO_PROXY \
|
||||
PATH="/root/.local/bin:$PATH"
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY . /app
|
||||
|
||||
Reference in New Issue
Block a user