Archived
forked from admin/userbase
ci: deploy front via docker.sock helper container (act_runner ignores custom volumes)
This commit is contained in:
@@ -14,12 +14,11 @@ jobs:
|
||||
# /data/www/userbase 与 docker.sock 由 act_runner 全局 options 统一挂载(见 act-runner config)
|
||||
container:
|
||||
image: node:20
|
||||
# /data/www/userbase 由 job container.volumes 声明挂载。
|
||||
# 关键点:act_runner 的 container.options 中多个 --volume 只有第一个生效,
|
||||
# 因此静态目录不能放在 runner options 里,必须在 workflow 的 container.volumes 明确声明,
|
||||
# 且 runner config 的 valid_volumes 白名单必须含该「完整 bind 字符串」才会放行。
|
||||
volumes:
|
||||
- /data/www/userbase:/data/www/userbase
|
||||
# 注意:本环境 act_runner v0.6.1 既不生效 container.options 的额外 --volume,
|
||||
# 也不生效 workflow 的 container.volumes(自定义卷被静默忽略),
|
||||
# 但它会默认把宿主 docker.sock 挂入每个 job 容器。
|
||||
# 因此部署改用 scripts/deploy-via-docker.js:通过该 docker.sock 启动一次性
|
||||
# helper 容器,把构建产物拷到宿主 /data/www/userbase/front。
|
||||
steps:
|
||||
# 内网 Gitea 无法访问 github.com 拉取 actions/checkout,改为直接 clone 本仓库
|
||||
- name: Checkout (manual, internal Gitea)
|
||||
@@ -48,12 +47,8 @@ jobs:
|
||||
run: npm run build:prod
|
||||
|
||||
- name: Deploy to static dir (/data/www/userbase/front)
|
||||
# /data/www/userbase 已由 job container.volumes 挂入本容器
|
||||
run: |
|
||||
rm -rf /data/www/userbase/front
|
||||
mkdir -p /data/www/userbase/front
|
||||
cp -r front/dist/prod/. /data/www/userbase/front/
|
||||
echo "deployed front -> /data/www/userbase/front"
|
||||
# act_runner 不挂载自定义卷,改用宿主 docker.sock 启动一次性 helper 容器拷贝产物。
|
||||
run: node scripts/deploy-via-docker.js
|
||||
|
||||
- name: Done
|
||||
run: ls -la /data/www/userbase/front | head
|
||||
run: echo "deploy step finished; verify on host: /data/www/userbase/front"
|
||||
|
||||
Reference in New Issue
Block a user