标签: azure-pipelines

从visual studio团队服务部署复制目标目录中的一个文件

我正在使用VSTS作为构建服务器,并且在构建时我想将bin文件夹内容复制到目标的根目录,以及将另一个文件夹中的自定义文件复制到此目标.MSDN建议我使用minimatch模式,但它使用子目录结构复制文件.我对恢复结构不感兴趣.

例如,我得到这个文件夹结构:

Project
    MyProjectFiles
    bin
        x86 (it's build configuration)
            Project.exe
    Other project files
    Project.sln
SomeScrips
    script1.ps1
Run Code Online (Sandbox Code Playgroud)

但我想收到这个文件夹结构:

Project.exe
SomeScripts
    script.ps1
Run Code Online (Sandbox Code Playgroud)

我可以根据我的要求使用哪种迷你匹配模式?

tfsbuild azure-devops azure-pipelines

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

尝试使用dotnet还原多项目解决方案时无法解决错误

我有一个本地构建的解决方案,我已经创建了一个新的构建并添加了一个步骤

dotnet restore
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

    ... OTHER SUCCESSFUL INSTALLATIONS ...
    log  : Installing Microsoft.Extensions.FileProviders.Abstractions 1.0.0.
    log  : Installing Microsoft.Extensions.Configuration.Abstractions 1.0.0.
    log  : Installing Microsoft.Extensions.DependencyInjection.Abstractions 1.0.0.
    log  : Writing lock file to disk. Path: C:\a\1\s\Wedding.WebApp\project.lock.json
    log  : C:\a\1\s\Wedding.WebApp\project.json
    log  : Restore failed in 13722ms.
    Errors in C:\a\1\s\Wedding.WebApp\project.json
        Unable to resolve 'Wedding.Application' for '.NETFramework,Version=v4.6.1'.
        Unable to resolve 'Wedding.Common' for '.NETFramework,Version=v4.6.1'.
        Unable to resolve 'Wedding.WebApp.Setup' for '.NETFramework,Version=v4.6.1'.
Run Code Online (Sandbox Code Playgroud)

它引用了我的主要Web项目引用的其他三个项目.

这是我的project.json

    {
      "dependencies": {
        "Microsoft.AspNetCore.Diagnostics": "1.0.0",
        "Microsoft.AspNetCore.Mvc": "1.0.1",
        "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
        "Microsoft.AspNetCore.StaticFiles": "1.0.0",
        "Microsoft.Extensions.Configuration.Json": "1.0.0", …
Run Code Online (Sandbox Code Playgroud)

.net .net-core .net-4.6.1 azure-pipelines

17
推荐指数
1
解决办法
3128
查看次数

VSTS\Azure-DevOps:使用来自 Bitbucket 的源在管道上启用持续集成失败并出现错误

问候,

您的帮助将不胜感激。

我在 VSTS\Azure-DevOps 中创建了一个管道。它从 Bitbucket 的存储库中获取源代码。排队构建工作正常。它构建并且测试成功。

现在我想要一个构建在每次提交到 Bitbucket 上的存储库时运行。但是,当我编辑管道并在“触发器”选项卡中启用“持续集成”并单击“保存”时,出现以下错误:

无法在选定的 Bitbucket 存储库上配置服务。Bitbucket 返回错误“禁止:”。

我很困惑我得到了“禁止”,而让源代码已经工作。

我做错了什么?我必须在 VSTS\Azure-DevOps 或 Bitbucket 中配置一些东西吗?

bitbucket azure-devops azure-pipelines

17
推荐指数
1
解决办法
3382
查看次数

如何使用模板引用 Azure DevOps Pipelines 中另一个存储库中的脚本?

我正在尝试使用存储在 Azure DevOps 中另一个 Git 存储库中的模板,其中该模板引用了也包含在该存储库中的脚本。虽然我可以成功使用主管道中的模板,但它没有引用模板所需的脚本。

请问我有什么办法可以做到这一点吗?

HelloWorld 模板/脚本存储在 Azure DevOps Repo“HelloWorld”中名为“Templates”的子文件夹中。

HelloWorld.ps1 脚本与以下模板位于同一目录中。

param($Name)

Write-Host "Hello, $Name!"
Run Code Online (Sandbox Code Playgroud)

模板 #1 参考本地脚本

param($Name)

Write-Host "Hello, $Name!"
Run Code Online (Sandbox Code Playgroud)

模板#2

  parameters:
  - name: azureSubscription
    type: string
  - name: name
    type: string
  
  jobs:
  - job: HelloWorld
    displayName: Hello World
    variables:
      name: ${{ parameters.name }}
    steps:
    - task: AzurePowerShell@4
      name: HelloWorld
      displayName: Hello World
      inputs:
        azureSubscription: ${{ parameters.azureSubscription }}
        scriptType: filePath
        scriptPath: ./HelloWorld.ps1
        azurePowerShellVersion: latestVersion
        failOnStandardError: true
        scriptArguments:
          -Name "$(name)"
Run Code Online (Sandbox Code Playgroud)

azure azure-devops azure-pipelines

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

Azure Yaml 架构批量触发器

任何人都可以解释 Azure YAML 架构触发器中的 Batch 的作用吗?

MSFT网站上唯一的解释是

batch changes if true; start a new build for every push if false (default)

我不太清楚

azure devops azure-devops azure-pipelines azure-yaml-pipelines

17
推荐指数
1
解决办法
9977
查看次数

是否可以根据条件添加运行时参数 - Azure Devops Pipeline

我当前的天蓝色管道如下所示 -

parameters:
  - name: Deploy
    type: Boolean
    default: false
  - name: Stages
    type: string
    values:
       - Stg A
       - Stg B
       - Stg C
       - Stg D
       - Stg E
Run Code Online (Sandbox Code Playgroud)

我试图以这样的方式添加一个条件:如果用户检查正在运行的管道,它应该仅动态Deploy显示Stg A为. 如果他们取消选中,它应该显示,和。Stg BStagesDeployStg CStg DStg E

我尝试通过以下方式添加条件 -

 parameters:
  - name: Deploy
    type: Boolean
    default: false
  - name: Stages
    type: string
    ${{ if eq(parameters['Deploy'], 'true' ) }}:
     values: 
       - Stg A
       - Stg B
    ${{ if ne(parameters['Deploy'], 'true' …
Run Code Online (Sandbox Code Playgroud)

yaml azure azure-devops azure-pipelines

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

VSTS托管构建.Net Framework 4.6.2

我在VSTS构建过程中遇到错误,说明找不到.net 4.6.2.有什么想法可以在构建代理上使用吗?

2016-08-30T17:09:31.0009946Z ## [错误] C:\ Program Files(x86)\ MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1098,5):错误MSB3644:参考程序集框架".NETFramework,Version = v4.6.2"未找到.要解决此问题,请为此框架版本安装SDK或Targeting Pack,或者将应用程序重新定位到已安装SDK或Targeting Pack的框架版本.请注意,程序集将从全局程序集缓存(GAC)中解析,并将用于代替引用程序集.因此,您的程序集可能无法正确定位到您想要的框架.

azure-devops azure-pipelines .net-4.6.2

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

VSTS:如何在具有多个项目的Visual Studio构建步骤中处理FileSystem WebPublishMethod

我有一个解决方案,包含两个基本的(不是MVC或.Net Core)ASP.Net Web应用程序,以及它们所依赖的一些库.

我在VSTS中有一个构建定义,其中包含一个Visual Studio Build步骤,该步骤使用MSBuild构建解决方案.

默认的MSBuild参数集将每个Web应用程序打包到一个文件中,通过批处理文件进行部署:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"

我不能使用此方法,并要求将网站发布到文件系统,以便现有脚本可以进行部署.

因此我将这些论点改为:

/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:publishUrl=$(build.artifactstagingdirectory)\website

这确实将两个网站发布到文件系统,但问题是它将它们放在同一个文件夹中.

有没有办法传递某种类型的paramaterised URL,publishUrl以便这两个网站最终可以在不同的文件夹中?或者我必须为每个项目单独制作一个MSBuild步骤吗?

msbuild visual-studio azure-devops azure-pipelines visual-studio-2017

16
推荐指数
1
解决办法
8192
查看次数

Azure DevOps:缺少绿色测试的控制台输出

我们将 NUnit 测试执行从 TeamCity 迁移到 Azure DevOps。迄今为止最大的问题之一 - 无法看到绿色(通过)测试的控制台输出。DevOps 中是否真的缺少这个基本功能,或者我根本不知道去哪里找?

以下是查看失败测试的控制台输出的方法:

失败测试的控制台输出

更新:在文档中有一个“提示”(https://docs.microsoft.com/en-us/azure/devops/pipelines/test/review-continuous-test-results-after-build?view=azure-开发运营):

如果您使用 Visual Studio 测试任务来运行测试,从测试(使用任何 Console.WriteLine、Trace.WriteLine 或 TestContext.WriteLine 方法)记录的诊断输出将显示为失败测试的附件。

文本明确指出“对于失败的测试”。看起来确实没有办法(没有简单的方法)看到非失败测试的控制台输出,这非常令人沮丧。

azure-devops azure-pipelines

16
推荐指数
2
解决办法
2667
查看次数

azurepipelines-coverage.yml的架构,用于配置PR的新发布的代码覆盖率指标功能

该功能在这里描述

现在,您可以在拉取请求(PR)视图中查看更改的代码覆盖率指标。这样可以确保您已通过自动化测试充分测试了更改。覆盖状态将在PR概述中显示为注释。您可以在文件差异视图中查看更改的每个代码行的覆盖率信息的详细信息。

但是要配置它,它需要azurepipelines-coverage.yml在仓库的根部,但是我在任何地方都找不到模式。

有人知道吗?无法配置它,默认代码覆盖率设置为70%,我似乎无法禁用它。

我已经用Google搜索,搜索了博客文章,搜索了Microsoft文档和Github。

azure-devops azure-pipelines

16
推荐指数
1
解决办法
476
查看次数