-
Notifications
You must be signed in to change notification settings - Fork 28
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
450f4bd
commit 2152ff3
Showing
1 changed file
with
63 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
name: Release Linux x64 .NET Application | ||
|
||
on: | ||
release: | ||
types: [published] | ||
|
||
permissions: | ||
contents: write # 确保有写入发布的权限 | ||
|
||
jobs: | ||
build_and_release: | ||
name: 构建并发布 .NET 应用程序 | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: 检出仓库代码 | ||
uses: actions/checkout@v3 # 使用最新稳定版本 | ||
|
||
- name: 设置 .NET 环境 | ||
uses: actions/setup-dotnet@v3 # 使用最新稳定版本 | ||
with: | ||
dotnet-version: '8.0.x' # 确保使用的 .NET 版本与你的项目版本匹配 | ||
|
||
- name: 还原 NuGet 包 | ||
run: dotnet restore src/MDriveSync.Client.API | ||
|
||
- name: 列出目录内容 (调试步骤) | ||
run: | | ||
echo "PublishProfiles 目录内容:" | ||
dir src/MDriveSync.Client.API/Properties/PublishProfiles | ||
- name: 构建并发布 .NET 应用程序 | ||
run: dotnet publish src/MDriveSync.Client.API -c Release /p:PublishProfile=Client.Publish.SelfContained.linux.x64.pubxml | ||
|
||
- name: 列出发布目录内容 (调试步骤) | ||
run: | | ||
echo "发布目录内容:" | ||
dir src/MDriveSync.Client.API/bin/Release/net8.0/linux-x64/publish | ||
- name: 删除 PDB 和部分 XML 文件 | ||
run: | | ||
# 删除目录中的 .pdb 和部分 .xml 文件(如果存在) | ||
Remove-Item src/MDriveSync.Client.API/bin/Release/net8.0/linux-x64/publish/*.pdb -Force -ErrorAction SilentlyContinue | ||
- name: 压缩构建产物 | ||
run: | | ||
# 将发布目录中的文件压缩为 zip 文件 | ||
Compress-Archive -Path src/MDriveSync.Client.API/bin/Release/net8.0/linux-x64/publish/* -DestinationPath "MDrive-linux-x64-v${{ github.event.release.tag_name }}.zip" | ||
- name: 检查 ZIP 文件 | ||
run: | | ||
echo "生成的 ZIP 文件:" | ||
dir MDrive-linux-x64-v${{ github.event.release.tag_name }}.zip | ||
- name: 上传 ZIP 文件到 release | ||
uses: actions/upload-release-asset@v1 # 使用最新稳定版本 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ github.event.release.upload_url }} | ||
asset_path: "MDrive-linux-x64-${{ github.event.release.tag_name }}.zip" | ||
asset_name: "MDrive-linux-x64-${{ github.event.release.tag_name }}.zip" | ||
asset_content_type: application/zip |