java - 这是对 Jenkins 的严重滥用吗?

标签 java jenkins

我需要一个 Java 任务按计划运行,比如每天运行。有时还需要通过单击网页上的按钮来按需执行。

我想将我的业务逻辑编译到一个 jar 中,并将其放在我的 Jenkins 服务器可以到达的地方。然后配置一个 Jenkins 作业来按计划执行主类。为了支持按需执行,我可以创建一个 Jenkins 作业(用 php 或其他语言)来运行一次主类。

这是一种可怕的滥用吗?避免安装 Tomcat 和使用 Web 服务调用似乎是一种懒惰的黑客行为,但它允许我只需通过修改 Jenkins 作业来更改计划。考虑到我目前没有可用的 Tomcat 服务器,并且具有避免不必要的开销、复杂性和维护的显着优势。

最佳答案

一个稍微耗时但更高级的解决方案是:

Spring Batch (Admin UI included)

说实话,几年前当我们寻找快速解决方法时,我们与 Jenkins 有着完全相同的想法。最后,我们设法为此分配了一些开发时间,因此我们使用了 Spring Batch。通过他们的管理网络应用程序使用起来很方便。如果您有时间编写一些代码,我建议您检查一下。该解决方案对我们非常有效,因为:

  • 高级重试功能
  • 工作经历
  • 定期运行+手动执行选项
  • 能够恢复失败的执行
  • 能够保留作业数据
  • 易于配置故障转移

关于java - 这是对 Jenkins 的严重滥用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31476001/

相关文章:

jenkins - 展开 Jenkins 的所有“高级…”选项

docker - Jenkins Docker插件似乎并未为Jenkins构建提供从属容器

java - Spring Expression Language - 如果设置了配置文件,则设置不同的值

java - fatal error : 'com.ibm.xtq.commons.utils.wrappedruntimeexception : the root element is required ina well formed document'

java - 删除 final 关键字如何改变程序的行为方式?

javascript - 如何使用Jenkins部署网站

jenkins - Allure Jenkins 插件在 html 报告中生成无效链接

java - 如何完成kafka消费者安全?(在shutdownHook里面调用thread#join有什么意思吗?)

java - sun.rmi.transport.tcp.TCPTransport 使用 100% CPU

jenkins - 列出 Jenkins 插件和依赖项(带图)