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/