Dot-Net-Core
在 Azure Pipelines 建構中命名生成的 ZIP 存檔?
仍在嘗試全面掌握 Azure Pipelines 以及我能用這些做什麼……
我終於設法用 Azure Pipelines 建構了我的小 .NET Core 命令行實用程序——現在正試圖將它作為建構工件發布。
使用這個 YAML,我可以建構和打包工具:
- task: DotNetCoreCLI@2 displayName: 'dotnet build' inputs: command: 'build' projects: '$(solution)' - task: DotNetCoreCLI@2 displayName: 'dotnet publish' inputs: command: publish publishWebProjects: False arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)' zipAfterPublish: True - task: PublishBuildArtifacts@1 inputs: pathtoPublish: '$(Build.ArtifactStagingDirectory)' artifactName: 'MyTool_LatestBuild'但是在已發布的建構工件中,我只得到一個文件
a.zip- 有什麼方法可以影響該 ZIP 存檔的名稱嗎?我真的很想擁有類似的MyTool_2020_Sep_08.zip東西MyTool_v1.5.7.zip……但我該怎麼做呢?似乎在網際網路上的任何地方都找不到任何非常有用的東西……任何輸入?謝謝!
1.同意Vernou。您可以通過指定包含二進製文件的文件夾名稱來自定義名稱。所以我們需要修改step的參數
--output和step的參數。dotnet publish``PathtoPublish``PublishBuildArtifacts2.但要獲取日期時間,您可以使用預定義變數Build.BuildNumber 。
我的工作樣本:
name: $(Date:yyyyMMdd)$(Rev:.r) steps: - task: DotNetCoreCLI@2 inputs: command: 'build' projects: '**/*.csproj' - task: DotNetCoreCLI@2 displayName: 'dotnet publish' inputs: command: publish publishWebProjects: False arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)/MyTool_$(Build.BuildNumber)' zipAfterPublish: True - task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/MyTool_$(Build.BuildNumber)' ArtifactName: 'MyTool_LatestBuild' publishLocation: 'Container'有關使用 BuildNumber 獲取日期的更多詳細資訊,您可以查看Configure run or build numbers。
結果:
我們可以通過修改我們定義的方式來控制格式
Build.BuildNumber(在 Yaml 中,它是name)。如果我們定義name: $(Date:yyyyMMdd),那麼輸出 zip 將是MyTool_20200908.zip。
