首页 > 解决方案 > 如何将版本文件获取到 Github Actions

问题描述

我对 Github Action 和版本包有疑问。
我想自动化交付 nuget 包。这是我的 yml 文件。

name: Build-pack-publishToNuget

on:
  push:
    branches: [ main ]

jobs:
  build:

    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v2
    - name: Setup .NET
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 5.0.x
    - name: Restore dependencies
      run: dotnet restore ./src/RichLoggerProject/RichLogger/RichLogger.csproj
    - name: Creation du Nugget package
      run: dotnet pack ./src/RichLoggerProject/RichLogger/RichLogger.csproj --configuration Release -o NuGetPackages
    - name: Deploy NuGet Package
      run: dotnet nuget push ./NuGetPackages/RichLogger.1.0.0.nupkg --api-key ${{ secrets.KEYNUGET }} -s https://api.nuget.org/v3/index.json

完成了,但我给出了文件的全名:

run: dotnet nuget push ./NuGetPackages/RichLogger.1.0.0.nupkg --api-key ${{ secrets.KEYNUGET }} -s https://api.nuget.org/v3/index.json

如果我将版本更新为“1.1.0”,我需要将 yml 文件更改为:

run: dotnet nuget push ./NuGetPackages/RichLogger.1.1.0.nupkg --api-key ${{ secrets.KEYNUGET }} -s https://api.nuget.org/v3/index.json

那里不是自动化的!
我试过了 :

run: dotnet nuget push ./NuGetPackages/*.nupkg --api-key ${{ secrets.KEYNUGET }} -s https://api.nuget.org/v3/index.json
run: dotnet nuget push ./NuGetPackages/RichLogger.*.nupkg --api-key ${{ secrets.KEYNUGET }} -s https://api.nuget.org/v3/index.json

但我有同样的错误:
error: File does not exist (./NuGetPackages/*.nupkg).
error: File does not exist (./NuGetPackages/RichLogger.*.nupkg).

如何将新版本传递给命令?

标签: .netgithub-actions

解决方案


解决方案 !

当我创建包时,输出是-o NugetPackages这一行:

 - name: Creation du Nugget package
      run: dotnet pack ./src/RichLoggerProject/RichLogger/RichLogger.csproj --configuration Release -o NuGetPackages

但是当我试图推送包裹时

run: dotnet nuget push ./NuGetPackages/*.nupkg --api-key ${{ secrets.KEYNUGET }} -s https://api.nuget.org/v3/index.json

文件不存在。

经过多次测试,我改为:

 - name: Creation du Nugget package
      run: dotnet pack ./src/RichLoggerProject/RichLogger/RichLogger.csproj --configuration Release -o .

输出是“ . ”,现在推送的命令是:

- name: Deploy NuGet Package
      run: dotnet nuget push *.nupkg --api-key ${{ secrets.KEYNUGET }} -s https://api.nuget.org/v3/index.json --skip-duplicate

已经完成了 !


推荐阅读