- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在努力减少在 TeamCity 中编译和单元测试项目所花费的时间。
目前我的项目需要大约 5 到 8 分钟的时间来构建。
它的作用是:
一旦完成,单元测试就会开始,运行大约需要 2 分钟。
它的作用是:
现在,运行单元测试只需要 5 秒....因此清理和编译步骤大约需要 2 分钟....而创建安装程序步骤大约需要 3 到 6 分钟。
我的第一个问题是:有什么方法可以配置 team city,使其在运行单元测试时不必再次执行清理和编译步骤。我相信我们采用这种方式的主要原因是因为项目构建和单元测试可以由不同的构建代理运行。
我的第二个问题是:项目构建需要 5 到 8 分钟的合理时间吗?有没有办法优化解决方案中项目的编译以及安装程序的创建?
如果我可以提供任何其他详细信息,请告诉我,这可能会帮助您为我指明正确的方向,即优化构建或保持原样。
更新回答一些questions from Nate :
当您在 TeamCity 外部运行构建时,它是否会在单元测试之前再次执行清理/编译?不,因为当您在自己的机器上运行它时,您可以指定要运行构建脚本的哪些部分。我们有清理、编译、单元测试等部分,它们在项目构建与单元测试运行的团队城市中有不同的指定。
如果是这样,你能让构建在测试之前不这样做吗?我们目前不这样做的原因是,当使用不同的构建代理时,单元测试所需的文件将不可用,因此会失败。
您使用什么来构建您的项目?我们使用 Nant 来构建我们的项目,使用 wix 来安装程序,使用 NUnit 和 NCover 来进行单元测试和覆盖率报告。
您使用的是什么源代码控制系统?颠覆
最佳答案
关于 #1:当您在 TeamCity 之外运行构建时,它是否会在单元测试之前再次进行清理/编译?如果是这样,您能否让构建在测试之前不这样做?
您使用什么来构建您的项目?您使用的是什么源代码控制系统?
考虑的另一个选择是拥有多个构建配置。在我的工作中,我们有几种配置。在每次提交后运行的一个。它进行清理/编译和一些快速测试。然后我们有一个夜间配置,它执行清理/编译和所有测试。你能做这样的事吗?
关于optimization - 我可以采取哪些步骤来优化 TeamCity 中的构建时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1141147/
我的类有一个 foo 方法和一个 main 方法,其中有一些变量和一个 print 语句。 public static boolean foo(int x, boolean b) { if (
我正在尝试对每几列取行平均值。这是一个示例数据集。 d = {'2000-01': range(0,10), '2000-02': range(10,20), '2000-03': range(10,
在 Nsight Visual Studio 中,我们将有一个图表来呈现“已采取”、“未采取”和“分歧”分支的统计信息。我对“不采取”和“分歧”之间的区别感到困惑。例如 kernel() { if
在 Nsight Visual Studio 中,我们将有一个图表来呈现“已采取”、“未采取”和“分歧”分支的统计信息。我对“不采取”和“分歧”之间的区别感到困惑。例如 kernel() { if
int main() { long int i,t,n,q[500],d[500],s[500],res[500]={0},j,h; scanf("%ld",&t); whil
我在 Linux 上使用 racket v6.5 repl 并尝试运行流教程中的 take 函数示例 https://docs.racket-lang.org/functional-data-stru
tl;博士无法在 ggpairs 中获得独立的图例(描述整个情节的常用颜色)令我满意。 对不起,长度。 我正在尝试使用 GGally::ggpairs 绘制(下三角形)对图(用于绘制各种绘图矩阵的扩展
几个月前我问过this question 。我想添加一个具有不同背景的相同 div。我想知道为什么 jQuery 在第二个 div 中不起作用?我发现仅当我单击第二个 div 中的小图像时,图像才会在
引用Performing a right join in django ,当我尝试类似的方法时(字段略有不同): class Student: user = ForeignKey(User)
所以我使用带有 Action Sheet 样式的 UIAlertController 来显示两个选项,一个用于取消操作,另一个用于删除数据。按钮工作正常,删除按钮工作,操作表关闭。我的问题是,在后台从
我有一个列表,其中每个单元格都是一个可放置的对象,可以接受某个类的可拖动对象。该表的边框是可见的,但我不希望固定大小的单元格着色且可见,这对我来说很难看。当我拖动一个可拖动对象与一个单元格相交时,该单
我有一个 RDD,它是通过读取一个大小约为 117MB 的本地文本文件形成的。 scala> rdd res87: org.apache.spark.rdd.RDD[String] = MapPart
如果我们有 n 级台阶并且我们可以一次上 1 或 2 级台阶,则台阶数和攀登台阶的方式之间存在斐波那契关系。当且仅当我们不认为 2+1 和 1+2 不同。 但是,情况不再如此,我们还必须添加第三个选项
var query = from ch in Client.wcf.context.CashHeading where ch.Id_customer == customern//cc.Id
我是一名优秀的程序员,十分优秀!