Split gateway control and dataplane into separate services
This commit is contained in:
@@ -35,6 +35,8 @@ jobs:
|
||||
|
||||
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
|
||||
IMAGE="${REGISTRY_HOST}/${{ gitea.repository }}/gateway"
|
||||
CONTROL_IMAGE="${IMAGE}-control"
|
||||
DATAPLANE_IMAGE="${IMAGE}-dataplane"
|
||||
|
||||
echo "Build runner: $(hostname)"
|
||||
echo "Base image: ${{ env.BASE_IMAGE }}"
|
||||
@@ -73,11 +75,15 @@ jobs:
|
||||
--build-arg SINGBOX_VERSION="${{ env.SINGBOX_VERSION }}" \
|
||||
--build-arg INSTALL_RUNTIME_DEPS=false \
|
||||
--build-arg INSTALL_SINGBOX=false \
|
||||
-t "${IMAGE}:latest" \
|
||||
-t "${IMAGE}:${{ gitea.sha }}" \
|
||||
-t "${CONTROL_IMAGE}:latest" \
|
||||
-t "${CONTROL_IMAGE}:${{ gitea.sha }}" \
|
||||
-t "${DATAPLANE_IMAGE}:latest" \
|
||||
-t "${DATAPLANE_IMAGE}:${{ gitea.sha }}" \
|
||||
.
|
||||
docker push "${IMAGE}:latest"
|
||||
docker push "${IMAGE}:${{ gitea.sha }}"
|
||||
docker push "${CONTROL_IMAGE}:latest"
|
||||
docker push "${CONTROL_IMAGE}:${{ gitea.sha }}"
|
||||
docker push "${DATAPLANE_IMAGE}:latest"
|
||||
docker push "${DATAPLANE_IMAGE}:${{ gitea.sha }}"
|
||||
|
||||
deploy:
|
||||
runs-on: lxc-111
|
||||
@@ -101,7 +107,19 @@ jobs:
|
||||
|
||||
REGISTRY_HOST=$(echo "${{ gitea.server_url }}" | sed 's|https\?://||')
|
||||
IMAGE="${REGISTRY_HOST}/${{ gitea.repository }}/gateway"
|
||||
CONTROL_IMAGE="${IMAGE}-control:${{ gitea.sha }}"
|
||||
DATAPLANE_IMAGE="${IMAGE}-dataplane:${{ gitea.sha }}"
|
||||
UPDATE_DATAPLANE=false
|
||||
if git diff-tree --no-commit-id --name-only -r -m HEAD | grep -Eq \
|
||||
'^(Dockerfile|entrypoint\.sh|package(-lock)?\.json|scripts/build-runtime-base\.sh|\.gitea/workflows/gateway-build\.yml|src/server/(config|dataplane|dataplaneClient|gatewayRouting|singboxRuntime)\.js)$'; then
|
||||
UPDATE_DATAPLANE=true
|
||||
fi
|
||||
|
||||
echo "Deploy runner: $(hostname)"
|
||||
echo "Update dataplane: ${UPDATE_DATAPLANE}"
|
||||
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login "$REGISTRY_HOST" -u "${{ gitea.actor }}" --password-stdin
|
||||
DEPLOY_PATH="${{ env.DEPLOY_PATH }}" GATEWAY_IMAGE="${IMAGE}:${{ gitea.sha }}" bash scripts/deploy-gateway.sh
|
||||
DEPLOY_PATH="${{ env.DEPLOY_PATH }}" \
|
||||
CONTROL_IMAGE="${CONTROL_IMAGE}" \
|
||||
DATAPLANE_IMAGE="${DATAPLANE_IMAGE}" \
|
||||
UPDATE_DATAPLANE="${UPDATE_DATAPLANE}" \
|
||||
bash scripts/deploy-gateway.sh
|
||||
|
||||
Reference in New Issue
Block a user