我有两个AzureDevOps Git分支:
Sub DeleteBadHeaders()
Dim r As Long, lastRow As Long
Dim T As Variant
Dim ws As Worksheet, wsList As Worksheet, f As Range
Set ws = ActiveSheet
Set wsList = Worksheets("Headings_To_Delete")
lastRow = wsList.Cells(Rows.Count, 1).End(xlUp).Row 'last row
For r = 2 To lastRow
T = wsList.Cells(r, "A").Value
If Len(T) > 0 Then
Set f = ws.Rows(1).Find(what:=T, lookat:=xlWhole)
'check to see if the heading was found
If Not f Is Nothing Then
Debug.Print "Found header '" & T & "' at " & f.Address
f.EntireColumn.Interior.Color = vbRed '<< for testing
'f.EntireColumn.Delete '<< uncomment when done testing
End If 'was found
End If 'any heading
Next r 'next in list
End Sub
我有一个用yaml定义的多阶段构建管道,其中一些步骤以模板的形式存储在单独的.yml文件中。
在我的外部azure-pipelines.yml中,我引用了.yml模板所在的存储库:
master
feature/mybranch
当我在'master'分支中构建时,一切都很好,因为默认情况下,存储库将位于refs / heads / master中。
当我在功能分支中工作并且想要测试对模板.yml文件的实验性更改时,我不希望它从master分支中获取它们,而是希望它使用分支中的文件我在工作。
以下作品可以使我做到这一点:
resources:
repositories:
- repository: templates
type: git
name: MyProject/MyRepo
但是,当我将其合并回master时,显然我不希望'ref:'仍然指向功能分支,因此我想使用变量动态生成'ref:'的值。 / p>
我尝试使用resources:
repositories:
- repository: templates
type: git
name: MyProject/MyRepo
ref: refs/heads/feature/mybranch
,其中ref: $(Build.SourceBranch)
应该扩展为$(Build.SourceBranch)
但是它不起作用。错误:
'refs/heads/feature/mybranch'
答案 0 :(得分:1)
是否可以在的ref属性中使用变量 resources:Azure DevOps YAML的存储库?
对于这个问题,答案是肯定的。
关于为什么收到该错误消息的原因只是您使用的变量($(Build.SourceBranch)
)不正确。您应该使用$(Build.SourceBranchName)
。
通常,对于ref,我们应该输入master或任何其他功能分支。如
ref: refs/heads/master
这可能使您认为与$(Build.SourceBranch)
的值相同。我知道它看起来一样,但不同。实际上,对于服务器,它将读取确切的分支名称,而不是分支路径,我们可以使用经典的编辑器类型清楚地知道它:
根据经典的编辑器类型,我们可以在这里知道应该输入确切的分支名称。
因此,根据Predefined variables的定义,$(Build.SourceBranch)
的值是分支路径,但是对于$(Build.SourceBranchName)
,它表示的是完全分支名称。
因此,如果要成功执行,则需要使用:$(Build.SourceBranchName)
。而且它在我这边工作。
希望这也可以帮助您远离错误消息。
编辑:
为我工作的完整脚本是:
resources:
repositories:
- repository: templates
type: git
name: MyApp/MyconApp
ref: $(Build.SourceBranchName)
答案 1 :(得分:0)
答案 2 :(得分:0)
如此处所述,使用内联检出代替引用资源中的资源
- checkout: git://MyProject/MyRepo@features/tools
这个yaml元素允许使用变量,参数等模板表达式。
- checkout: git://$(System.TeamProject)/$(repoName)@${{ variables.branchRef }}
OR
- checkout: git://$(System.TeamProject)/$(repoName)@${{ parameters.branchRef }}
您可以动态更改