我正在使用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)
我可以根据我的要求使用哪种迷你匹配模式?
我有一个本地构建的解决方案,我已经创建了一个新的构建并添加了一个步骤
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) 问候,
您的帮助将不胜感激。
我在 VSTS\Azure-DevOps 中创建了一个管道。它从 Bitbucket 的存储库中获取源代码。排队构建工作正常。它构建并且测试成功。
现在我想要一个构建在每次提交到 Bitbucket 上的存储库时运行。但是,当我编辑管道并在“触发器”选项卡中启用“持续集成”并单击“保存”时,出现以下错误:
无法在选定的 Bitbucket 存储库上配置服务。Bitbucket 返回错误“禁止:”。
我很困惑我得到了“禁止”,而让源代码已经工作。
我做错了什么?我必须在 VSTS\Azure-DevOps 或 Bitbucket 中配置一些东西吗?
我正在尝试使用存储在 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 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
我当前的天蓝色管道如下所示 -
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) 我在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)中解析,并将用于代替引用程序集.因此,您的程序集可能无法正确定位到您想要的框架.
我有一个解决方案,包含两个基本的(不是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
我们将 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 方法)记录的诊断输出将显示为失败测试的附件。
文本明确指出“对于失败的测试”。看起来确实没有办法(没有简单的方法)看到非失败测试的控制台输出,这非常令人沮丧。
该功能在这里描述
现在,您可以在拉取请求(PR)视图中查看更改的代码覆盖率指标。这样可以确保您已通过自动化测试充分测试了更改。覆盖状态将在PR概述中显示为注释。您可以在文件差异视图中查看更改的每个代码行的覆盖率信息的详细信息。
但是要配置它,它需要azurepipelines-coverage.yml在仓库的根部,但是我在任何地方都找不到模式。
有人知道吗?无法配置它,默认代码覆盖率设置为70%,我似乎无法禁用它。
我已经用Google搜索,搜索了博客文章,搜索了Microsoft文档和Github。
azure-pipelines ×10
azure-devops ×9
azure ×3
.net ×1
.net-4.6.1 ×1
.net-4.6.2 ×1
.net-core ×1
bitbucket ×1
devops ×1
msbuild ×1
tfsbuild ×1
yaml ×1