2023-08-21 22:21:54 +08:00
|
|
|
# action.yml
|
2025-11-07 21:44:18 +08:00
|
|
|
name: "build docker image and push to code"
|
|
|
|
|
description: "build docker image and push to simcu code"
|
2024-04-16 16:18:24 +08:00
|
|
|
inputs:
|
2026-10-20 21:45:51 +08:00
|
|
|
context:
|
|
|
|
|
description: "构建目录(相对仓库根目录,默认 .)。例如后端在 dotnet 目录下时填 dotnet"
|
2024-04-16 16:18:24 +08:00
|
|
|
required: false
|
2026-10-20 21:45:51 +08:00
|
|
|
default: "."
|
2023-08-21 22:21:54 +08:00
|
|
|
runs:
|
2025-11-07 21:44:18 +08:00
|
|
|
using: "composite"
|
2023-08-21 22:21:54 +08:00
|
|
|
steps:
|
2025-11-07 21:44:18 +08:00
|
|
|
- name: build .net app
|
2025-11-27 13:56:42 +08:00
|
|
|
uses: docker://mcr.microsoft.com/dotnet/sdk:10.0
|
2025-11-07 21:44:18 +08:00
|
|
|
with:
|
|
|
|
|
entrypoint: "/bin/bash"
|
|
|
|
|
args: |
|
2026-10-20 21:45:51 +08:00
|
|
|
-c 'cd "${{ inputs.context }}" && \
|
|
|
|
|
dotnet publish -r linux-x64 -c Release --self-contained -o dist -p:AssemblyName=App -p:Version=${{ github.ref_name }}'
|
2023-08-22 12:57:53 +08:00
|
|
|
|
2026-10-20 21:45:51 +08:00
|
|
|
# -f 直接指向本 action 内置的 dotnet.Dockerfile,不用再准备/拷贝文件;
|
|
|
|
|
# 构建上下文仍是 context,所以 Dockerfile 里的 COPY dist 取的是构建目录下的发布产物
|
|
|
|
|
- name: build docker image and push
|
|
|
|
|
uses: actions/docker-build-push@main
|
2025-11-07 21:44:18 +08:00
|
|
|
with:
|
2026-10-20 21:45:51 +08:00
|
|
|
context: ${{ inputs.context }}
|
|
|
|
|
dockerfile: ${{ github.action_path }}/dotnet.Dockerfile
|