小编Pie*_*rre的帖子

Azure DevOps yaml 管道,下载的工件为空

将管道从经典转换为 YAML(所以我知道它有效)。

我构建并发布工件任务如下所示:

  - task: PublishPipelineArtifact@1
    displayName: 'Publish Pipeline Artifact'
    inputs:
      targetPath: '$(Build.ArtifactStagingDirectory)/MyArtifact'
      artifact: MyArtifact
Run Code Online (Sandbox Code Playgroud)

构建时的结果如下所示:

在此输入图像描述

然后我想将其部署到 web 应用程序 YAML:

- stage: Dev
  jobs: 
  - job: DeployApp
    displayName: Deploy Web App
    pool:
      name: myPrivate
      demands: msbuild
    steps:
    - task: DownloadPipelineArtifact@2
      inputs:
        artifact: MyArtifact
    - task: AzureRmWebAppDeployment@4
      displayName: 'Deploy App'
      inputs:
        WebAppKind: 'Web App On Windows'
        azureSubscription: 'edited out...'
        WebAppName: webAppName
        package: '$(System.ArtifactsDirectory)'
        enableXmlTransform: true
Run Code Online (Sandbox Code Playgroud)

这会在 Azure DevOps 中产生以下输出:

在此输入图像描述

上有差异,但由于尺寸非常匹配,我很高兴。

然后我在部署中遇到错误,因此我开始查看 Kudo,并可以看到在 SitePackages 中我的所有包都是 1 kb(或空...)。我预计 61.2 MB。

在此输入图像描述

我采取了我的工作经典部署,在那里我有这一行:

packageForLinux:'$(System.DefaultWorkingDirectory)/_MyArtifact/MyArtifact/MyApplication.zip' …
Run Code Online (Sandbox Code Playgroud)

azure-devops azure-pipelines

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

当密钥在Powershell中包含点(句点)时,从JSON中解析值

在此输入图像描述

在上面的例子中,我想从"System.WorkItemType"中获取值"Bug"

运用

$response = Invoke-RestMethod -Url $someUri -Method Get -ContentType "application/json" -Headers $headers
$wit = response.fields.System.WorkItemType
Run Code Online (Sandbox Code Playgroud)

由于点/周期搞砸了,所以不起作用.

在javascript中有这个问题和答案,但在Powershell中不起作用.

使用正则表达式用下划线替换点似乎太牵强了(我没有让它工作,但使用-match -convertFrom-Json -replace -convertTo-Json所以可能做错了?

所以我的问题很简单:如何从'System.WorkItemType'键中获取'Bug'值?(bug可能是其他字符串...)

powershell json jsonpath

2
推荐指数
1
解决办法
752
查看次数