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