问题标签 [build-chain]
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.
build - 链中的快照依赖构建没有被触发
我在构建链中定义了快照依赖项。例如:
01 - 构建
由 VCS 触发的库
02 - 构建窗口
- 对“01 - 构建库”的快照依赖
03 - 构建服务_1
- 对“02 - 构建 Windows”的快照依赖
03 - 构建 Service_2
- 对“02 - 构建 Windows”的快照依赖
04 - 部署
- “03 - Build Service_1”和“03 - Build Service_2”的快照依赖
现在,链中的最后一个构建永远不会自动触发。我必须手动去运行构建。此外,在“构建链”视图中,它表示构建“04”是链的一部分,但未触发。我不知道为什么。有任何想法吗?
teamcity - TeamCity 构建链错误 - FileOrFolderNotFound
我在 TeamCity 中构建了一个 2 步构建链。1. step 构建解决方案并在磁盘上创建工件。第二步部署到我们的远程 IIS。
一切正常,除了在第二次构建时发生此错误:错误:无法创建类型为“contentPath”和路径“C:\ProgramData\JetBrains\TeamCity\system\artifacts\ph\Build\198”的对象。
我必须手动设置构建计数器参数值才能使其工作,因为每个构建都会增加 2 而不是 1 的值,然后部署任务无法在文件夹系统中找到工件。
部署命令看起来像这样,我猜问题在于读取源路径。看起来部署任务有关于源路径的错误信息。我可以在部署命令中使用什么参数来避免这种情况?
部署命令:
teamcity - 从多个构建获取参数到一个依赖于快照的构建 [teamcity]
在 Teamcity 9.0.1 中,我有几个构建,它们以相似的步骤结束,但参数不同。
实际上,这些是服务步骤,构建不需要得出结论,即构建是好的,但它们是服务所必需的,因此,目前,它们只是在运行并消耗时间。
我想要达到的目标是移动这些步骤以完全分离构建,并在成功的构建结束触发器上调用它。但是,我想不通 - 如何将更改参数传递给这些新创建的构建?
快照依赖并没有给我想要的控制级别,因为它要求我从特定的构建 ID 定义依赖参数,而不是从构建中读取它们,这才结束。
通过下载 .teamcity/properties/build.finish.gz!** 使用工件依赖项失败并出现错误:
未知存档类型
而且,实际上,将迫使我创建额外的 xml 解析器
teamcity - 如果找不到合适的依赖项,teamcity 会导致构建失败吗?
在 TeamCity 中,我设置了一个构建链,其中每个环境都依赖于先前环境中的构建必须合适且成功。
但是,如果找不到合适的构建依赖项,我希望构建失败。
该场景包括一个阶段门,其中不同的团队负责部署到生产。如果他们尝试部署没有合适依赖项的构建,您可以配置 tc 以构建或不构建依赖项。我希望构建失败,表明依赖项不存在。
permissions - 允许/拒绝用户在 Teamcity 中运行构建配置
我有 4 个构建配置的构建链,它们对应于不同团队的任务。配置背后的想法是这样的:
- 运行构建本身
- 将构建移至暂存
- 质量保证批准
- 发布
这些配置中的每一个都有不同的负责人。不应允许不负责给定配置的人员运行它。
我知道我可以在项目级别定义角色,但在这里我需要在构建配置级别定义它。那可能吗?
谢谢
continuous-integration - 团队城市建设在循环中运行
我在 TeamCity 中通过自动化测试构建了配置。我想在循环中运行这个构建配置:当一个构建完成时,开始新的构建。我无法配置“完成构建触发器”,因为需要为其创建快照依赖项,但我想每次都为最新版本的代码运行测试。我如何配置这样的循环?
continuous-integration - TeamCity 构建链配置
我有一个 TeamCity 项目,其中包括 4 个配置,构建链需要看起来像这样:
Build可以手动触发并执行 .bat 脚本,编译一堆工件供 Deploy 和 TEST 拾取。
部署和测试 - 区域 1对构建配置具有工件依赖性。
部署和测试 - 区域 2对构建配置具有工件依赖性。
由于我希望在构建成功后立即同时运行 Region1 和 Region2,因此我在构建配置中添加了 Snapshot 依赖项到Deploy and TEST – Region 1和Deploy and TEST – Region 2
现在我需要配置测试状态配置只是为了报告先前配置的失败/成功(部署和测试配置)。
如何做到这一点?另外,我是否需要在任何地方针对我想要实现的用例调整我的设置?
triggers - x天后如何在构建链中触发构建?
我目前正在使用 Teamcity 将 Web 应用程序部署到 Azure 云服务。我们通常使用 powershell 脚本部署到暂存槽,然后在 Azure 门户上进行手动交换(暂存到生产)。
交换后,我们通常将 Staging 插槽与旧的生产部署保持活动状态几天(如果我们需要恢复/退出部署),然后将其删除 - 这是一个手动过程。
我希望使用 Teamcity 自动化这个过程。我的预期解决方案是在部署构建成功后几天启动 Teamcity 构建x
(构建步骤的细节无关紧要,因为我可能会再次使用 powershell 来删除暂存槽)
该计划指示我研究 Teamcity 构建链、快照依赖项等。
到目前为止我所做的是
目前,当前方法 在部署构建成功后立即启动依赖构建“删除 Azure 暂存 Web”(B) 。但是,我希望这是x
几天后的延迟构建。
查看上面的构建链,我希望构建B在 2016 年 8 月 13 日上午 7.31 运行(如果x
=3)
我也研究了 Schedule Trigger 选项,但对于如何使用它来实现这一点有点迷茫。据我了解,使用 cron 表达式将导致构建持续运行,这不是我想要的——我希望构建B只执行一次。
teamcity-9.0 - 多个其他构建完成后如何在teamcity中构建一个项目并且不触发依赖链?
我的问题与在 TeamCity 中多个并行构建后触发后续构建一次有关,但我遇到了问题,因此将其发布在这里。
下面是我的设置。我正在尝试创建一个链,以便当我运行 A 时,整个链都会运行。
A(根项目)-B(依赖于A的快照+在A上完成构建触发器)-(依赖于B的快照)聚合项目。
A(根项目)-c(依赖于A的快照+在A上完成构建触发器)-(依赖于C的快照)聚合项目。
快照依赖并没有真正做任何事情(没有快照,我在 A 处使用虚拟构建配置),我必须创建它,因为我想使用 %dep 将动态值从 A 向下传递,但我无法只能用 Finish Build 触发器来实现。
现在,我还需要能够独立触发 B(在这种情况下,我不需要聚合,仅在启动根项目 A 时才需要),这样 C 就不会被触发,反之亦然,但在我触发时使用当前设置B,A 被触发(由于快照依赖,然后聚合被触发,然后 C 进入队列,因为聚合也是依赖于 C 的快照)。我是 Teamcity 的新手,所以我可能做错了。任何帮助表示赞赏。
teamcity - 扩展 TeamCity 构建链
我们有许多以相同方式处理、构建和部署的项目,我们希望为所有项目建立统一的 TeamCity 构建链。
我们的构建链应该包含:
- 拉取请求和开发分支的编译和测试。
- 拉取请求的 SonarQube 分析。
- NPM 发布和自动标记合并拉取请求到开发。
所有项目都是符合以下要求的 NPM 包:
- 所需脚本:安装、测试、清理、构建
- 根目录中的 package.json 和 sonar-project.properties
我们的想法是为 SonarQube 和 NPM 发布使用通用参数化构建,因为它们与项目本身无关,但看起来 TeamCity 不支持这样的东西,除非我们为每个项目复制链构建。
理想情况下,它应该看起来像这样:
这里的问题是,如果我为构建完成添加触发器并为所有项目添加对 SonarQube 和 NPM 发布的依赖项,它将需要构建每个项目,而不仅仅是刚刚构建的项目。
TeamCity 通过复制构建配置提供了类似的功能:
我不希望有许多重复的构建,就像我不喜欢重复的代码一样。有没有办法创建通用构建链,或者我应该继续寻找生成后者的脚本方式?