TFS和Microsoft Dynamics 365:解决方案名称和版本到VSTS中的相应变量

时间:2018-01-23 06:06:16

标签: dynamics-crm azure-devops microsoft-dynamics dynamics-365

假设我有一个名为" Dynamics_1_2_3_4.zip"的解决方案。我想要名称,版本(1,2,3,4)存储在VSTS中的不同对应变量中。我如何实现这一目标?

SolutionName = Dynamics
SolutionVersionMajor = 1
SolutionVersionMinor = 2
SolutionVersionBuild = 3
SolutionVersionRevision 4

我的目标是增加其中一个解决方案版本的值。感谢

2 个答案:

答案 0 :(得分:1)

我已经answered on GitHub了。 您可以在其中添加类似这样的PowerShell步骤:

"MySolution_1_2_3_4.zip" -match "^(?<name>\w+?)_(?<major>\d+)_(?<minor>\d+)_(?<build>\d+)_(?<revision>\d+).zip$"
Write-Host "##vso[task.setvariable variable=SolutionName;]$($matches['name'])"
Write-Host "##vso[task.setvariable variable=SolutionVersionMajor;]$($matches['major'])"
Write-Host "##vso[task.setvariable variable=SolutionVersionMinor;]$($matches['minor'])"
Write-Host "##vso[task.setvariable variable=SolutionVersionBuild;]$($matches['build'])"
Write-Host "##vso[task.setvariable variable=SolutionVersionRevision;]$($matches['revision'])"

在该步骤之后,VSTS将具有可用的变量,如$(SolutionVersionBuild)

答案 1 :(得分:0)

请参阅以下步骤:

  1. 添加PowerShell任务(类型:Inline Script;参数:-p [The folder path of file, such as $(Build.SourcesDirectory)];
  2. 脚本:

    param(
    [string]$p
    )
    Write-Host $p
    $files=Get-ChildItem -Path "$p\Dynamics*.zip"
    $name=$files[0].name.Split('\')[-1]
    Write-Host $name
    # scripts as Michael said
    

    注意:$(Build.SourcesDirectory)是代理程序中下载源代码文件的本地路径。例如:c:\ agent_work \ 1 \ s