This commit is contained in:
@@ -43,6 +43,15 @@ jobs:
|
|||||||
docker logout "$ACR_REGISTRY" || true
|
docker logout "$ACR_REGISTRY" || true
|
||||||
echo "$ACR_PASSWORD" | docker login "$ACR_REGISTRY" --username "$ACR_USERNAME" --password-stdin
|
echo "$ACR_PASSWORD" | docker login "$ACR_REGISTRY" --username "$ACR_USERNAME" --password-stdin
|
||||||
|
|
||||||
|
- name: Start v2ray-client
|
||||||
|
run: |
|
||||||
|
docker rm -f v2ray-client >/dev/null 2>&1 || true
|
||||||
|
docker run -d --name v2ray-client \
|
||||||
|
--network host \
|
||||||
|
-v ${{ github.workspace }}/v2ray-client.json:/etc/v2ray/config.json:ro \
|
||||||
|
v2fly/v2fly-core:latest \
|
||||||
|
run -c /etc/v2ray/config.json
|
||||||
|
|
||||||
- name: Build Docker Image (host network; no Dockerfile change)
|
- name: Build Docker Image (host network; no Dockerfile change)
|
||||||
env:
|
env:
|
||||||
IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }}
|
IMAGE: ${{ secrets.ACR_REGISTRY }}/${{ secrets.ACR_NAMESPACE }}/${{ vars.IMAGE_NAME }}
|
||||||
@@ -50,18 +59,15 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
# 1) 重新创建并启用 buildx builder:共享宿主机网络 + 注入代理环境
|
|
||||||
docker buildx rm ci-builder >/dev/null 2>&1 || true
|
docker buildx rm ci-builder >/dev/null 2>&1 || true
|
||||||
docker buildx create \
|
docker buildx create \
|
||||||
--name ci-builder --use \
|
--name ci-builder --use \
|
||||||
--driver docker-container \
|
--driver docker-container \
|
||||||
--driver-opt network=host \
|
--driver-opt network=host \
|
||||||
--driver-opt env.http_proxy=http://127.0.0.1:7890,env.https_proxy=http://127.0.0.1:7890 \
|
--driver-opt env.http_proxy=http://127.0.0.1:8080,env.https_proxy=http://127.0.0.1:8080 \
|
||||||
--buildkitd-flags '--allow-insecure-entitlement network.host' \
|
--buildkitd-flags '--allow-insecure-entitlement network.host' \
|
||||||
>/dev/null
|
>/dev/null
|
||||||
|
|
||||||
# 2) 构建:允许 host 网络,让 RUN 阶段可直接访问 127.0.0.1:7890
|
|
||||||
# 用 --load 让镜像回到本地 daemon,便于下一步 docker push
|
|
||||||
echo "Building ${IMAGE}:${TAG}"
|
echo "Building ${IMAGE}:${TAG}"
|
||||||
docker buildx build \
|
docker buildx build \
|
||||||
--builder ci-builder \
|
--builder ci-builder \
|
||||||
@@ -70,10 +76,9 @@ jobs:
|
|||||||
--load \
|
--load \
|
||||||
-t "${IMAGE}:${TAG}" -f docker/Dockerfile .
|
-t "${IMAGE}:${TAG}" -f docker/Dockerfile .
|
||||||
|
|
||||||
# 可选:main 分支或 release 时也打 latest
|
- name: Stop v2ray-client
|
||||||
if [ "${{ github.event_name }}" = "release" ] || [ "${{ github.ref_name }}" = "main" ]; then
|
if: always() # 确保出错也能清理
|
||||||
docker tag "${IMAGE}:${TAG}" "${IMAGE}:latest"
|
run: docker rm -f v2ray-client || true
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Push Docker Image
|
- name: Push Docker Image
|
||||||
env:
|
env:
|
||||||
|
|||||||
43
v2ray-client.json
Normal file
43
v2ray-client.json
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"log": {
|
||||||
|
"loglevel": "info"
|
||||||
|
},
|
||||||
|
"inbounds": [
|
||||||
|
{
|
||||||
|
"port": 1080,
|
||||||
|
"listen": "0.0.0.0",
|
||||||
|
"protocol": "socks",
|
||||||
|
"settings": { "auth": "noauth", "udp": true }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"port": 8080,
|
||||||
|
"listen": "0.0.0.0",
|
||||||
|
"protocol": "http",
|
||||||
|
"settings": {}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"protocol": "vless",
|
||||||
|
"settings": {
|
||||||
|
"vnext": [
|
||||||
|
{
|
||||||
|
"address": "molecular.eu.org",
|
||||||
|
"port": 443,
|
||||||
|
"users": [
|
||||||
|
{ "id": "8f5e3b57-5a3d-4a3e-9f3c-9c6c2d6a9f1e", "encryption": "none" }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"streamSettings": {
|
||||||
|
"network": "grpc",
|
||||||
|
"security": "tls",
|
||||||
|
"grpcSettings": {
|
||||||
|
"serviceName": "grpc",
|
||||||
|
"multiMode": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user