Spring 仅通过 Jenkins 管道在构建步骤中调用批处理

Spring batch process is getting invoked in BUILD step only via Jenkins pipeline

我写了一个 spring 批处理作业并尝试通过我们的 jenkins 管道部署它。这个管道首先构建代码,创建图像,然后部署到 kubernetese。

在我的批处理作业中,我正在某个特定目录中查找文件,如果该文件不存在,我们的进程会发送一封电子邮件。

我观察到一件独特的事情,每当我的 Jenkins 管道是 运行,在构建步骤之后,我都会收到一封关于文件不可用的电子邮件,而它应该发送一封电子邮件或根据其计划处理文件.该过程似乎仅在构建步骤中被触发或调用。

仅在 spring 批处理中而不是在构建时,是否需要任何配置才能按计划时间调用进程?

如果你使用的是Spring引导,你需要将属性spring.batch.job.enabled设置为false,因为默认情况下,Spring引导执行所有应用程序上下文中的作业 on startup.