支持构建目录 context,构建改用 docker-build-push
This commit is contained in:
+17
-6
@@ -1,6 +1,11 @@
|
||||
# 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: "."
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
@@ -8,11 +13,14 @@ runs:
|
||||
with:
|
||||
entrypoint: "/bin/bash"
|
||||
args: |
|
||||
-c "npm pkg set version=${{ github.ref_name }} && \
|
||||
-c 'cd "${{ inputs.context }}" && \
|
||||
npm pkg set version=${{ github.ref_name }} && \
|
||||
npm ci && \
|
||||
npm run build-only"
|
||||
npm run build-only'
|
||||
|
||||
# 项目根目录有 nginx.conf 就用项目自己的(例如要开 COOP/COEP 之类的自定义配置),
|
||||
# Dockerfile 放在仓库根目录(docker build -f 是相对仓库根目录解析的),
|
||||
# nginx.conf 放进构建目录(Dockerfile 里的 COPY 是相对构建上下文的)。
|
||||
# 构建目录有 nginx.conf 就用项目自己的(例如要开 COOP/COEP 之类的自定义配置),
|
||||
# 没有才用本 action 自带的通用配置
|
||||
- uses: docker://ubuntu:latest
|
||||
with:
|
||||
@@ -20,13 +28,16 @@ runs:
|
||||
args: |
|
||||
-c '
|
||||
set -e
|
||||
cp "${{ github.action_path }}/vue.Dockerfile" ./Dockerfile
|
||||
cd "${{ inputs.context }}"
|
||||
if [ -f ./nginx.conf ]; then
|
||||
echo "nginx.conf:用项目根目录的"
|
||||
echo "nginx.conf:用项目自带的"
|
||||
else
|
||||
cp "${{ github.action_path }}/nginx.conf" ./nginx.conf
|
||||
echo "nginx.conf:用 action 自带的"
|
||||
echo "nginx.conf:用 action 内置的"
|
||||
fi
|
||||
cp "${{ github.action_path }}/vue.Dockerfile" ./Dockerfile
|
||||
'
|
||||
|
||||
- uses: actions/docker-build-push@main
|
||||
with:
|
||||
context: ${{ inputs.context }}
|
||||
|
||||
Reference in New Issue
Block a user