【问题标题】:Java Continuous Integration without Server无服务器的 Java 持续集成
【发布时间】:2023-11-22 05:00:01
【问题描述】:

有几个可用于 Java 的持续集成服务器(HudsonJenkinsTeamCity)。

据我了解,这些都是以“UI”为中心的,因为与这些解决方案交互的主要方式是通过 Web 界面。此外,它们需要一个 Servlet 容器来在服务器上运行和启动几个进程。

我想知道是否有适用于 Java/Maven/git 的持续集成解决方案,可以在没有服务器的情况下运行并且可以从命令行进行控制。例如,通过发出命令:

CLIIntegrationSolution path/to/git_repo

检查 repo 上是否有任何更新,根据需要构建项目,运行测试,生成报告,并在任何构建或测试错误的情况下发送消息。

我知道这可以手工制作,但可能需要一些时间才能做好。

【问题讨论】:

  • 如果您从控制台运行测试,您需要电子邮件通知做什么?你想要的一切都可以通过一个简单的 bah 脚本来完成。
  • 是的,我只是不太确定脚本会有多“简单”。从本质上讲,关于电子邮件,我想指出需要一些简单的方法来进行报告。也可以通过更新一组 XML/HTML 文件(例如,所有项目及其状态的列表)来完成。

标签: java maven jenkins continuous-integration hudson


【解决方案1】:

[可以是评论,但太长了]

你应该回去检查你真正想做的事情。 Jenkins 有嵌入式网络服务器,不需要应用服务器。它还公开了command line 来做几乎所有的事情,从开始停止和重新配置构建。它还为programmatic query 公开了一个Web 服务层

简而言之,詹金斯会做任何你想做的事。 GUI 部分仅用于设置,而不用于实际执行任务。它们都是通过预定的/scm 轮询/手动触发器来完成的。

【讨论】: