2024-04-19 02:39:07 +08:00
|
|
|
|
# action.yml
|
2026-04-24 23:26:50 +08:00
|
|
|
|
name: "build docker image and push to code"
|
|
|
|
|
|
description: "build docker image and push to simcu code"
|
2026-10-20 21:45:48 +08:00
|
|
|
|
inputs:
|
|
|
|
|
|
context:
|
|
|
|
|
|
description: "构建目录(相对仓库根目录,默认 .)。例如前端在 vue 目录下时填 vue"
|
|
|
|
|
|
required: false
|
|
|
|
|
|
default: "."
|
2026-10-20 21:49:53 +08:00
|
|
|
|
useHash:
|
|
|
|
|
|
description: "前端是否使用 hash 路由(默认 false)。false:用 nginx.conf 做 history 回退并加跨域头;true:用 nginx 默认配置,不再注入 nginx.conf"
|
|
|
|
|
|
required: false
|
|
|
|
|
|
default: "false"
|
2024-04-19 02:39:07 +08:00
|
|
|
|
runs:
|
2026-04-24 23:26:50 +08:00
|
|
|
|
using: "composite"
|
2024-04-19 02:39:07 +08:00
|
|
|
|
steps:
|
2026-04-24 23:26:50 +08:00
|
|
|
|
- uses: docker://node:24
|
|
|
|
|
|
with:
|
|
|
|
|
|
entrypoint: "/bin/bash"
|
|
|
|
|
|
args: |
|
2026-10-20 21:45:48 +08:00
|
|
|
|
-c 'cd "${{ inputs.context }}" && \
|
|
|
|
|
|
npm pkg set version=${{ github.ref_name }} && \
|
2026-04-24 23:26:50 +08:00
|
|
|
|
npm ci && \
|
2026-10-20 21:45:48 +08:00
|
|
|
|
npm run build-only'
|
2024-12-11 06:33:29 +08:00
|
|
|
|
|
2026-10-20 21:49:53 +08:00
|
|
|
|
# Dockerfile 放在仓库根目录(docker build -f 是相对仓库根目录解析的)。
|
|
|
|
|
|
# useHash=false:用 vue.Dockerfile,带上 nginx.conf 做 history 回退(构建目录有 nginx.conf 就用项目自己的);
|
|
|
|
|
|
# useHash=true :hash 路由不需要回退,用 vue-hash.Dockerfile + nginx 默认配置,不注入 nginx.conf
|
2026-04-24 23:26:50 +08:00
|
|
|
|
- uses: docker://ubuntu:latest
|
|
|
|
|
|
with:
|
|
|
|
|
|
entrypoint: "/bin/bash"
|
|
|
|
|
|
args: |
|
2026-10-06 04:24:46 +08:00
|
|
|
|
-c '
|
|
|
|
|
|
set -e
|
2026-10-20 21:49:53 +08:00
|
|
|
|
if [ "${{ inputs.useHash }}" = "true" ]; then
|
|
|
|
|
|
cp "${{ github.action_path }}/vue-hash.Dockerfile" ./Dockerfile
|
|
|
|
|
|
echo "useHash=true:用 nginx 默认配置,不注入 nginx.conf"
|
2026-10-06 04:24:46 +08:00
|
|
|
|
else
|
2026-10-20 21:49:53 +08:00
|
|
|
|
cp "${{ github.action_path }}/vue.Dockerfile" ./Dockerfile
|
|
|
|
|
|
cd "${{ inputs.context }}"
|
|
|
|
|
|
if [ -f ./nginx.conf ]; then
|
|
|
|
|
|
echo "nginx.conf:用项目自带的"
|
|
|
|
|
|
else
|
|
|
|
|
|
cp "${{ github.action_path }}/nginx.conf" ./nginx.conf
|
|
|
|
|
|
echo "nginx.conf:用 action 内置的"
|
|
|
|
|
|
fi
|
2026-10-06 04:24:46 +08:00
|
|
|
|
fi
|
|
|
|
|
|
'
|
2024-04-19 02:39:07 +08:00
|
|
|
|
|
2026-04-28 19:37:33 +08:00
|
|
|
|
- uses: actions/docker-build-push@main
|
2026-10-20 21:45:48 +08:00
|
|
|
|
with:
|
|
|
|
|
|
context: ${{ inputs.context }}
|