【问题标题】:How can I start a java program by sending an email如何通过发送电子邮件来启动 Java 程序
【发布时间】:2013-08-28 09:29:45
【问题描述】:

我们正在进行一个项目,我正在参与持续集成测试。

我需要

  • 在暂存服务器上部署新项目代码,不使用 Jenkins,而是使用 ftp;
  • 部署后会发送一封电子邮件以指示部署成功,我们需要它来开始我的集成测试;
  • 集成测试如果成功,将在集成服务器上开始部署。

我将编写一个 java 程序来登录 Jenkins 并执行集成测试。

问题是:邮件如何激活java程序?

编辑:通常情况下,jenkins 提供了一个在收到电子邮件后开始工作的功能,但我们遇到了安全问题

【问题讨论】:

  • 这似乎是一个非常复杂的方法。我猜你的 Jenkins 会部署到登台服务器吗?如果是这样,为什么不在完成下一个 Jenkins 工作后开始呢?
  • 不,登台服务器部署是通过 ftp 完成的...
  • 你也可以把它变成詹金斯的工作。 Jenkins 在工作期间可以做很多不同的事情,包括将文件发布到 FTP。我认为,如果您直接构建构建过程而不是编写您打算编写的解决方法,那么您的工作将会少很多。
  • 嗯,最初的部署是由我们的开发人员完成的,他很忙,而且正在远距离工作,所以我不想打扰他
  • 你做错了。您正在通过电子邮件增加复杂性并保留手动操作,而不是自动化 FTP 部署。使用 jenkins 进行 FTP 部署。您将不再依赖“忙碌”的开发人员。让他忙于开发,而不是手动操作。将 FTP 部署任务移至 jenkins。

标签: java jenkins


【解决方案1】:

制作一个程序或脚本,它将定期轮询邮件服务器框,并在收到适当的电子邮件后运行另一个 java 程序。

【讨论】:

  • 更一般地说,许多脚本语言还具有轮询邮箱和启动 Java 程序所需的功能。
  • 我可以不使用浏览器吗?我可能会编写一个硒“测试”来打开电子邮件并查找新邮件,但是有没有一种方法可以让我在不打开浏览器的情况下做到这一点?抱歉,我是 Java 新手(6 周),我不是很自信
【解决方案2】:

请仔细阅读 Jenkins 文档。如果您使用的是版本控制系统,Jenkins 可以自动拉取代码并在其上运行测试用例。您可以使用各种方法通知 Jenkins……包括 webhook。

请通过各种plugins for Jenkins

更新

我自己没有用过这个。但看起来这就是你想要的:Mail Commander Plugin

而你发送的命令可以是这样的:

curl --data '' http://<server>:<port>/job/<projectname>/build

【讨论】:

  • 是的,我们在使用这个 jenkins 功能时遇到了一些问题,所以我正在尝试解决它
猜你喜欢
  • 2016-11-21
  • 2014-03-20
  • 1970-01-01
  • 2018-05-10
  • 2016-09-26
  • 1970-01-01
  • 2023-03-06
  • 2017-01-06
相关资源
最近更新 更多