ci: 修复 push 步骤 --configfile 不可用,改脚本生成 nuget.config 并查重跳过
ci / build-test (push) Successful in 1m16s
ci / publish (push) Successful in 1m21s

This commit is contained in:
wanghu
2026-09-02 11:38:03 +08:00
parent e7a4fe6c1e
commit 64ee63c938
2 changed files with 80 additions and 20 deletions
+7 -20
View File
@@ -69,23 +69,10 @@ jobs:
run: dotnet pack BasePlatformDotnet/yh-platform-net.sln -c Release -o BasePlatformDotnet/artifacts
- name: Push to Nexus
# Nexus 的 NuGet 推送认证走 HTTP Basic(账号+密码),不校验 api-key;
# 且 Nexus 为 http 源,SDK 8 需在 nuget.config 显式 allowInsecureConnections=true。
# 动态生成带凭据的 nuget.config 并指定 --configfile,避免凭据入 git。
run: |
cat > nuget-push.config <<EOF
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="nexus-nuget" value="${{ secrets.NEXUS_URL }}" allowInsecureConnections="true" />
</packageSources>
<packageSourceCredentials>
<nexus-nuget>
<add key="Username" value="${{ secrets.NEXUS_USER }}" />
<add key="ClearTextPassword" value="${{ secrets.NEXUS_PASS }}" />
</nexus-nuget>
</packageSourceCredentials>
</configuration>
EOF
dotnet nuget push "BasePlatformDotnet/artifacts/*.nupkg" --source nexus-nuget --configfile nuget-push.config --api-key nexus
# 委托独立脚本:生成带凭据 nuget.config(dotnet nuget push 不支持 --configfile)、
# 按 Disable redeploy 策略先查重再推送,凭据全部走 Gitea Secrets,不入 git。
env:
NEXUS_URL: ${{ secrets.NEXUS_URL }}
NEXUS_USER: ${{ secrets.NEXUS_USER }}
NEXUS_PASS: ${{ secrets.NEXUS_PASS }}
run: bash .gitea/scripts/push-to-nexus.sh