This commit is contained in:
@@ -51,32 +51,36 @@ jobs:
|
|||||||
echo "$ACR_PASSWORD" | docker login "$ACR_REGISTRY" \
|
echo "$ACR_PASSWORD" | docker login "$ACR_REGISTRY" \
|
||||||
--username "$ACR_USERNAME" --password-stdin
|
--username "$ACR_USERNAME" --password-stdin
|
||||||
|
|
||||||
- name: Ensure proxy_net exists
|
- name: Build Docker Image (proxy_net, one step)
|
||||||
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)
|
|
||||||
env:
|
env:
|
||||||
IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }}
|
IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }}
|
||||||
TAG: ${{ steps.meta.outputs.tag }}
|
TAG: ${{ steps.meta.outputs.tag }}
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
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 \
|
docker buildx build \
|
||||||
--builder ci-builder \
|
--builder ci-builder \
|
||||||
--progress=plain \
|
--progress=plain \
|
||||||
--build-arg HTTP_PROXY=http://proxy:7890 \
|
--build-arg HTTP_PROXY=http://proxy:7890 \
|
||||||
--build-arg HTTPS_PROXY=http://proxy:7890 \
|
--build-arg HTTPS_PROXY=http://proxy:7890 \
|
||||||
--build-arg NO_PROXY=localhost,127.0.0.1,proxy \
|
--build-arg NO_PROXY=localhost,127.0.0.1,proxy \
|
||||||
|
--load \
|
||||||
-t "${IMAGE}:${TAG}" -f docker/Dockerfile .
|
-t "${IMAGE}:${TAG}" -f docker/Dockerfile .
|
||||||
|
|
||||||
|
|
||||||
- name: Push Docker Image
|
- name: Push Docker Image
|
||||||
env:
|
env:
|
||||||
IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }}
|
IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }}
|
||||||
|
|||||||
@@ -7,7 +7,11 @@ ARG NO_PROXY
|
|||||||
ENV HTTP_PROXY=$HTTP_PROXY \
|
ENV HTTP_PROXY=$HTTP_PROXY \
|
||||||
HTTPS_PROXY=$HTTPS_PROXY \
|
HTTPS_PROXY=$HTTPS_PROXY \
|
||||||
NO_PROXY=$NO_PROXY \
|
NO_PROXY=$NO_PROXY \
|
||||||
|
http_proxy=$HTTP_PROXY \
|
||||||
|
https_proxy=$HTTPS_PROXY \
|
||||||
|
no_proxy=$NO_PROXY \
|
||||||
PATH="/root/.local/bin:$PATH"
|
PATH="/root/.local/bin:$PATH"
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY . /app
|
COPY . /app
|
||||||
|
|||||||
Reference in New Issue
Block a user