Jenkins-管道每天在第一次构建时进行不同的结帐
Jenkins-pipeline different checkout on first build daily
我必须遵守不同的结帐规则
一个清理所有东西并进行干净和新鲜的结账,一个进行增量更新。
我想 运行t 第一个只有当它是当天的第一个 运行 时,并且每隔一天增量一次。
有什么建议吗?
使用 jenkins 管道,您可以编写一个包含当前日期的文件。假设你的第一份工作是 运行 并检查文件的内容:如果文件内容是昨天的日期,那么它就是当天的第一个构建,所以你处理你完全干净的步骤并写下今天的日期,否则你只是做你的增量更新并且不要重写文件。
但是,您或许应该重新考虑您的 CI 策略,因为拥有可重现的构建通常是一种很好的做法,您可以在其中始终重放完全相同的步骤。
"Pre SCM BuildStep" 插件允许添加在结帐之前执行的构建步骤。这允许在更新发生之前清理工作区。
您可能会考虑添加一个特定的结账时间(例如 02:00 上午)并添加一个预 SCM 构建步骤,如果当前时间在 02:00 和 [=17] 之间则清理工作区=].这样,您每天早上都会得到一个干净的构建,每次签入都会给您一个快速的(更新)构建响应。
我必须遵守不同的结帐规则 一个清理所有东西并进行干净和新鲜的结账,一个进行增量更新。
我想 运行t 第一个只有当它是当天的第一个 运行 时,并且每隔一天增量一次。
有什么建议吗?
使用 jenkins 管道,您可以编写一个包含当前日期的文件。假设你的第一份工作是 运行 并检查文件的内容:如果文件内容是昨天的日期,那么它就是当天的第一个构建,所以你处理你完全干净的步骤并写下今天的日期,否则你只是做你的增量更新并且不要重写文件。
但是,您或许应该重新考虑您的 CI 策略,因为拥有可重现的构建通常是一种很好的做法,您可以在其中始终重放完全相同的步骤。
"Pre SCM BuildStep" 插件允许添加在结帐之前执行的构建步骤。这允许在更新发生之前清理工作区。
您可能会考虑添加一个特定的结账时间(例如 02:00 上午)并添加一个预 SCM 构建步骤,如果当前时间在 02:00 和 [=17] 之间则清理工作区=].这样,您每天早上都会得到一个干净的构建,每次签入都会给您一个快速的(更新)构建响应。