deotalandAi/.gitea/workflows/docker.yaml

67 lines
1.9 KiB
YAML

name: CI/CD
on:
push:
branches:
- main
- dev
jobs:
build:
runs-on: ubuntu-latest
# container: docker.gitea.com/runner-images:ubuntu-latest
container:
image: docker.gitea.com/runner-images:ubuntu-latest
options: --add-host=my_gitea:host-gateway
steps:
# - name: Add host entry for Gitea
# run: |
# echo "${{ vars.GITEAHOST }} my_gitea" | tee -a /etc/hosts
# - name: Test access to Gitea
# run: |
# curl -v http://host.docker.internal:3000
# curl -v http://my_gitea:3000
- name: Checkout code
uses: actions/checkout@v3
- name: Build Docker image
run: docker build -t vue-app .
- name: Create container and extract dist
run: |
docker rm --force vue-container || true;
rm -rf /docker/front/apps/*
mkdir -p /docker/front/apps
# 创建容器但不运行
docker create --name vue-container vue-app
# 分别复制每个应用的构建输出,而不是复制整个 apps 目录
# 这样可以确保符号链接被解析为实际文件内容
docker cp vue-container:/build/apps/FrontendDesigner/dist/. /tmp/frontend-designer-dist/
docker cp vue-container:/build/apps/frontend/dist/. /tmp/frontend-dist/
# 创建目标目录
mkdir -p /docker/front/apps/FrontendDesigner/
mkdir -p /docker/front/apps/frontend/
# 复制已解析的实际文件
cp -r /tmp/frontend-designer-dist/. /docker/front/apps/FrontendDesigner/
cp -r /tmp/frontend-dist/. /docker/front/apps/frontend/
chmod -R 777 /docker/front/apps
# 复制到 caddy 服务器
docker cp /docker/front/apps/frontend/. my_caddy:/docker/front/www/
docker cp /docker/front/apps/FrontendDesigner/. my_caddy:/docker/front/admin/