Jenkins 将按键触发和夜间构建结合在一起有意义吗?

Jenkins 将按键触发和夜间构建结合在一起有意义吗?,jenkins,azure-devops,continuous-integration,devops,Jenkins,Azure Devops,Continuous Integration,Devops,我是一名全新的DevOps工程师,我主要处理CI流程 我想知道在每次推送时定义夜间构建和构建是否有意义 看起来,这毫无意义,因为如果代码是在每次推送之后构建的,那么为什么需要在午夜构建,因为当您将代码推送到存储库时,它已经构建好了 我说得对吗?我认为你是对的——如果你同时有一个推式触发器,那么有一个固定的时间表是没有意义的 如果您不能对每个构建运行完整测试,那么您仍然希望每夜构建(或其他固定时间表)的原因可能是。 例如,您可以决定对每个推送触发的构建只进行最低限度的测试(或SmokeTest),

我是一名全新的DevOps工程师,我主要处理CI流程

我想知道在每次推送时定义夜间构建和构建是否有意义

看起来,这毫无意义,因为如果代码是在每次推送之后构建的,那么为什么需要在午夜构建,因为当您将代码推送到存储库时,它已经构建好了


我说得对吗?

我认为你是对的——如果你同时有一个推式触发器,那么有一个固定的时间表是没有意义的

如果您不能对每个构建运行完整测试,那么您仍然希望每夜构建(或其他固定时间表)的原因可能是。
例如,您可以决定对每个推送触发的构建只进行最低限度的测试(或SmokeTest),但每天(例如,晚上)进行一次完整的测试运行。

我将分享我们的工作,并可能帮助您:

我们有三个构建层,一个覆盖您提到的推送示例,另一个包含一组PowerShell测试,另一个包含约5小时的全套测试


正如您可以想象的那样,每种情况都有一个基于时间的场景和一些测试。

据我所知,午夜构建的优点是运行/部署时间长的任务可以在午夜运行

在午夜运行这些任务后,您可以在第二天直接查看结果

在这种情况下,您可以为特定任务设置时间,以控制它是否在午夜运行。您可以使用
$(Build.Reason)
来判断它

另一方面,我们建议您可以设置特定的时间表触发器

每当您将更新推送到指定的分支或推送到指定的标记时,CI触发器都会导致管道运行。仅当代码更改时才会触发生成

管道本身和操作环境中的更改不会触发生成

但他们有时可以决定项目能否成功运行


在这种情况下,schedule触发器可以在特定时间运行构建,以确保项目是可执行的。

Hi@YoavKlein。有关于机票的更新吗?如果答案可以给你一些帮助,你可以考虑,所以它可以帮助其他社区成员得到相同的问题,谢谢。