问题标签 [build-definition]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2013 - 如何定期自动更改构建定义的触发器类型?
我正在使用 TFS 2013 和 VS 2013。
我为我们公司的一个项目创建了一个构建定义,它在以下构建触发器类型下运行良好。(要查看构建触发器的类型,请右键单击构建定义 -> 编辑构建定义 -> 在显示的对话框/向导中,单击“触发器”选项卡。)
- 手动的
- 日程
[IMG] http://i59.tinypic.com/2ch03so.png[/IMG]
目前我们正在做的是,在工作时间,我们将触发器类型设置为手动。然后当我们离开办公室时(下班后),我们将 Trigger Type 设置为 SCHEDULE 并离开。我们手动执行此操作(更改上图中的单选按钮)。
有没有办法自动化这个场景?(例如,从上午 8.30 到下午 5.30,触发类型应为手动,下午 5.30 后,触发类型应自动更改为调度)
tfs - 在 Pre-Build 脚本中访问构建过程参数
如何在 Pre-Build / Post-Build 脚本中访问我的构建过程参数。我不能在参数中传递它,因为我需要在排队这个 Build 之前提示用户询问他的版本号。我试过 $env:MyVariableName 但它是空的。
tfs - 防止 TFS 构建定义源设置触发构建
当我创建构建定义时,我已经设置了一些源设置,例如:
问题是我希望它在有人签入Builds或Install文件夹时触发构建,但Includes文件夹只是一些库和它需要的其他项目。当这些库被更改时,我不希望它重新运行。但是我需要在这里设置它们以确保它们被复制到构建放置服务器。当有人签入此文件夹时,有没有办法在不强制构建触发器的情况下复制此Includes文件夹?
visual-studio - 仅在构建定义中运行构建后事件
在我们的 Web 项目中,我们修改了 .csproj 文件以运行此命令预构建:
它工作得很好。
问题是我们不再希望在 .csproj 中使用它。我们只希望它在构建定义中。
我想不通。这就是我所拥有的,并且我收到有关路径太长的错误。
tfs - 预构建脚本路径不记录输出
我在构建定义中定义了一个预构建 PowerShell 脚本。PowerShell 脚本执行一个程序:
运行时npm
,npm 将内容写入标准输出/控制台。但是,此输出不会显示在我的构建日志中。
我需要做什么来确保构建日志捕获此控制台输出?
换句话说,我可以添加一些东西来& "c:\Program Files\nodejs\npm.cmd" "run" "build"
将输出传递到构建日志吗?
编辑:
我认为这是这三个之一,但不确定是哪个:
visual-studio - 如果构建状态不是绿色,则不要提交签入
我们已经对我们的构建进行了门控签入。有时构建是橙色或红色的。当它们为红色时,变更集被拒绝且未提交。当签入的构建为橙色时,签入不会被拒绝,而是被提交。我们如何将 TFS 配置为不签入产生橙色构建结果的变更集?
我不在乎橙色的原因。无论如何,我只想拒绝入住。
tfs - TFS 计划构建没有被触发
我们有 TFS 构建定义,这些定义配置为每晚晚上 10:00 运行(选择了“计划”选项和“即使没有任何更改也构建...”)。对于一些测试,我将其中一个修改为在上午 10:30 运行,并等待它被触发。但是,它没有被触发。
我用谷歌搜索了它,但发现有一个不同的问题,它会延迟触发并在 TFS 2010 中修复。但是,我们的 TFS 不是 2010。
我不确定为什么我的计划构建没有被触发。
我检查了我的构建服务是否已启动并在构建机器上运行,并且没有看到网络问题。
非常感谢任何帮助。
问候,kvk938
visual-studio-2013 - 团队构建错误:路径已映射到工作区...再次
因此,我查看了解决此问题的链接,如下所示。
但我的问题是,每次我排队构建定义时,我都会遇到同样的问题。好的,我去删除它抱怨的 tfs 工作区。太好了!然后再次运行构建......好吧,现在它没有,我必须再次删除 TFS 服务工作区。
为什么 TFS 构建服务每次构建时都会踩到自己。错误是“由于映射冲突,无法创建工作区‘xxx’...路径 xxx 已映射到工作区‘xxx’中”,但映射到的是先前 BUILD 创建的工作区。不是来自特定用户的任何东西。
azure - VSO 和 Azure 中的持续集成和 NuGet 还原
我们正在使用 VSO 和 Azure 云服务(Web 角色)。
以前,我们build.proj
为 VSO 构建定义使用了以下文件:
这样做的原因是在 MSBuild 开始运行之前执行 NuGet 还原。这是NuGet建议的方法。
现在我们正在尝试按照此 MSDN 文章中的说明设置与 Azure 云服务的持续集成。
这意味着我们现在必须使用TfvcContinuousDeploymentTemplate.12.xml
构建过程模板。
但是在设置模板构建build.proj
文件时,出现如下构建错误:
使用时.sln
,一切正常。但我们显然还需要在构建之前进行 NuGet 恢复。
什么是让持续集成和 NuGet 恢复工作的好解决方案?
tfs - 为什么我的 TFS 构建标签在 10 次构建后从全局列表中消失?为什么他们的标签上有斜线?
我的构建保留策略仅在 20 次成功构建后删除详细信息、放置文件夹和符号。但是,我的带有构建标签的全局列表仅保留最后 10 个构建。在我最近从 TFS 2010 升级到 TFS 2013 之前,所有构建都保留在全局列表中。
我已经确认构建没有被提前删除 - 放置文件夹中仍然包含所有构建项。如果我使用 label sidekick,我仍然会看到标签,所以我认为它们仍然存在。它们似乎只是从全局列表中删除,使它们无法在工作项中进行选择。
以防万一全局列表中的项目有限制,我只是手动删除了一些旧版本。这似乎没有什么不同。
我注意到的另一件事,可能不相关,但仍然很烦人 - 构建标签现在包含以前没有的斜线。例如:
Build generated in TFS 2010: OS.Main_20150423.3
Build generated in TFS 2013: OS.Main/OS.Main_20150511.1
这使得在(相当长的)全局列表中查找新版本变得更加困难,所以我想摆脱斜线。构建定义仍然显示没有额外“前斜杠”部分的格式:
Build Number Format: $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)
在我的升级过程中是否有一些新设置可以打开?
我仍在使用 TFS 2010 构建控制器和构建代理。