小编Jos*_*ust的帖子

链接到 Azure DevOps (VSTS) 中文件的特定版本中的一行代码

我想以这样的方式链接到一行代码,即使文件在将来的提交中更新,该链接也将继续工作。

在 Github 中,我会通过按“y”移动到包含 blob SHA 的页面版本来执行此操作:

https://github.com/rails/rails/blob/b49e38b76b0998b0a8312d8c08c98728d3de2006/activerecord/lib/arel/attributes/attribute.rb#L30

(或者,GitHub 在“...”菜单中有一个“复制永久链接”选项,当您选择一行时,该菜单会出现在页边空白处 -记录在此处。)

Azure DevOps 中是否有等价物?

我选择一行时得到的链接具有以下形式:

https://.../_git/project?path=XXXX&version=GBmaster&line=426&lineStyle=plain&lineEnd=427&lineStartColumn=1&lineEndColumn=1

许多参数定义了选择,但没有固定文件版本。

azure-devops

6
推荐指数
2
解决办法
3387
查看次数

为什么 powershell -replace 运算符无法正确包含捕获组中捕获的所有字符?

编辑:

再次审查这个问题后,我添加了第二个示例,我希望它能突出显示我的困惑被放大的地方,即有一个通过其索引 (1) 访问的捕获组,而我期望的值碰巧也是$filecontent1 。


此问题表明,在引用其他变量时,可以使用反引号来寻址双引号字符串中的捕获组。

如果您需要在替换表达式中引用其他变量(您可能会这样做),您可以使用双引号字符串并使用反引号转义捕获美元

然而,我看到了一些我无法解释的有趣行为。

$VersionReplacementRegex = "(\d+\.)\d+" #capture first digit + dot b/c I want to keep it
$BuildVersionValidationRegex = "\d+\.\d+\.\d+"
    
$VersionData = [regex]::matches("some-18.11.8",$BuildVersionValidationRegex)
$NewVersion = $VersionData[0] #matches 18.11.8

$filecontent = "stuff 1.0.0.0 other stuff" #Get-Content($file)
Run Code Online (Sandbox Code Playgroud)

$filecontent使用链接问题中指定的捕获组替换文本会产生不完整的结果...

$filecontent -replace $VersionReplacementRegex, "`$1$NewVersion" | Write-Host
Run Code Online (Sandbox Code Playgroud)

回报:118.11.8 预期:1.18.11.8

$1但是在和之间添加空格$NewVersion会产生不同但同样无益的结果。

$filecontent -replace $VersionReplacementRegex, "`$1 $NewVersion" | Write-Host
Run Code Online (Sandbox Code Playgroud)

返回:1. 18.11.8 捕获的点出现在这里,但不需要的空间也出现。

对于此示例,结果有些相似,但捕获组似乎得到了错误的值。

$NewVersion = 18.11.8
$filecontent = "stuff 5.0.0.0 other stuff" …
Run Code Online (Sandbox Code Playgroud)

powershell

5
推荐指数
1
解决办法
839
查看次数

如何在 Azure 管道 (VSTS) 中使用 Deploy to Kubernetes 任务的输出变量

我是 VSTS 和 Azure Kubernetes 的新手。我正在构建一个 VSTS CD 管道。我在我的管道中添加了一个 Deploy to Kubernetes 任务。我正在执行 get 命令并尝试将输出存储在输出变量中(可在 Deploy to kubernetes 任务的底部找到)。我已经设置了变量名。

VSTS 输出变量

我正在尝试获取上述输出变量的值。我已经使用命令行任务为变量设置了一个值,如下所述

echo '##vso[task.setvariable variable=myStatusVar;isSecret=false;]$(myvar)'

其中myvar是变量,在Deploy to kubernetes任务中设置为输出变量。

之后,在另一个命令行任务中,我尝试访问myStatusVar变量值,但是当我执行发布管道时,它显示以下消息:

未找到 myvar 命令

谁能告诉我,如何使用 VSTS 管道的 Deploy to kuberentes 任务的输出变量?

kubernetes azure-devops azure-pipelines azure-pipelines-release-pipeline

4
推荐指数
1
解决办法
2097
查看次数

Powershell Invoke-RestMethod 未使用 Azure DevOps 的 PAT 进行身份验证

我正在尝试调用 Azure DevOps 项目的 REST API,但得到了一些意想不到的结果。

我可以使用 LinqPad 获得结果,但使用 Powershell 失败。

我的脚本

$env:Build_BuildId = 2468
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("myPAT"))
$env:System_TeamProject = "myProject"

$url = "https://dev.azure.com/myorg/$env:System_TeamProject/_apis/build/builds/$env:Build_BuildId/changes?api-version=5.0"

$response = Invoke-RestMethod -Uri $url -Method Get -ContentType "application/json" -Headers @{ 
    Authorization = "Basic $token" 
}

Write-Host $response
Run Code Online (Sandbox Code Playgroud)

响应

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">




<html lang="en-US">
<head><title>

            Azure DevOps Services | Sign In

</title><meta http-equiv="X-UA-Compatible" content="IE=11;&#32;IE=10;&#32;IE=9;&#32;IE=8" />
    <link rel="SHORTCUT ICON" href="/favicon.ico"/>

    <link data-bundlelength="508485" data-bundlename="commoncss" data-highcontrast="/_static/tfs/M154_20190628.18/_cssbundles/HighContrast/vss-bundle-commoncss-vAEI_yKFIiS9jTVmCtAOiwe4cLPqdXnp6QCUVseU7jzk=" data-includedstyles="jQueryUI-Modified;Core;Splitter;PivotView" href="/_static/tfs/M154_20190628.18/_cssbundles/Default/vss-bundle-commoncss-vqjKBNZxfVQkGGn0rrvF7eh9DJDj__wqtFN85fVrIQn8=" rel="stylesheet" />
<link data-bundlelength="116162" data-bundlename="viewcss" data-highcontrast="/_static/tfs/M154_20190628.18/_cssbundles/HighContrast/vss-bundle-viewcss-v356iHjTFccxhkNidRJIEefQ92VqpWpa7rO4mdtAnDpM=" …
Run Code Online (Sandbox Code Playgroud)

powershell azure-devops azure-devops-rest-api

4
推荐指数
1
解决办法
6674
查看次数

Azure Devops 中缺少克隆按钮

我的任务是将存储库从 Azure Devops 移动到 Bitbucket 服务器。我对 Azure DevOps 非常陌生。当我访问 Azure 中的存储库时,我注意到我可以将存储库下载为 zip 文件,但没有克隆选项。我下载了 zip 文件,当我尝试解压缩该文件时,收到以下消息:

unzip: can't find file table
Run Code Online (Sandbox Code Playgroud)

解压缩过程将无法成功完成。有人可以向我解释为什么我无法从 Azure Devops 解压缩文件,或者告诉我为什么缺少“克隆”选项吗?

在此输入图像描述

azure tfvc azure-devops

3
推荐指数
1
解决办法
4759
查看次数

我如何在 azure 管道中通过分支 AND 标签触发?

我想创建一个 azure 管道,这样当我推送到分支(开发)标记(测试*)时,管道将被触发。但是,当我推送到没有标签的分支(开发)时,管道会被触发,这表明在推送到(开发)分支(测试*)标签时触发器正在执行。

例子:

trigger:
  branches:
    include:
      - develop
      - refs/tags/{test*}
Run Code Online (Sandbox Code Playgroud)

仅当推送到(开发)分支有对(测试*)标签的引用时,如何才能触发触发器?

azure-devops azure-pipelines

3
推荐指数
2
解决办法
1961
查看次数