Files
vue2docker/action.yml
T

52 lines
1.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# action.yml
name: "build docker image and push to code"
description: "build docker image and push to simcu code"
inputs:
context:
description: "构建目录(相对仓库根目录,默认 .)。例如前端在 vue 目录下时填 vue"
required: false
default: "."
useHash:
description: "前端是否使用 hash 路由(默认 false)。false:用 nginx.conf 做 history 回退并加跨域头;true:用 nginx 默认配置,不再注入 nginx.conf"
required: false
default: "false"
runs:
using: "composite"
steps:
- uses: docker://node:24
with:
entrypoint: "/bin/bash"
args: |
-c 'cd "${{ inputs.context }}" && \
npm pkg set version=${{ github.ref_name }} && \
npm ci && \
npm run build-only'
# Dockerfile 放在仓库根目录(docker build -f 是相对仓库根目录解析的)。
# useHash=false:用 vue.Dockerfile,带上 nginx.conf 做 history 回退(构建目录有 nginx.conf 就用项目自己的);
# useHash=true :hash 路由不需要回退,用 vue-hash.Dockerfile + nginx 默认配置,不注入 nginx.conf
- uses: docker://ubuntu:latest
with:
entrypoint: "/bin/bash"
args: |
-c '
set -e
if [ "${{ inputs.useHash }}" = "true" ]; then
cp "${{ github.action_path }}/vue-hash.Dockerfile" ./Dockerfile
echo "useHash=true:用 nginx 默认配置,不注入 nginx.conf"
else
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
fi
'
- uses: actions/docker-build-push@main
with:
context: ${{ inputs.context }}