Java EE应用程序的持续交付

时间:2016-04-20 19:12:33

标签: java-ee continuous-deployment

我们有一个Java EE Web应用程序,我们希望将其放入持续交付管道中。我是新手,有几个问题 - 管道怎么样? (鉴于我们使用Git / Jenkins / Maven / Artifactory) 应该创建哪些测试以及何时应该运行它们? 还有其他建议吗?

由于 亚纳

1 个答案:

答案 0 :(得分:1)

在开始工作之前,团队会对故事进行审核。不要在时间框内(例如冲刺),而是在连续的管道中构建故事。测试确定哪些测试将自动化,哪些测试将手动执行。 Test pyramid开始发挥作用。使用像rest-assured(Java)或HTTParty等工具来使用Ruby(Ruby的大量选择)来测试服务层中的Web端点(速度是CI的关键)。纯UI测试应该占总自动测试的10%左右。 UI测试运行时间最长。选择尽可能多地运行客户端JavaScript的UI测试。您可以使用Applitools等自动屏幕截图比较工具来加速UI的回归测试。顺便说一下,我只提到工具的例子。我不支持任何工具或产品。做自己的研究。

Jenkins(或TeamCity)的步骤可能如下:

  1. 构建应用
  2. (取决于步骤1)运行单元测试
  3. (取决于步骤2)运行服务层测试
  4. (取决于步骤2)运行UI层测试
  5. (取决于步骤3和4)部署到测试
  6. 进入测试后,运行任何手动验证(例如外观)。

    每周一次或多次部署到生产(晚上10点很受欢迎)。

    运行自动化生产烟雾(例如,读取带有服务层的DB / BI并与UI显示值进行比较的只读测试)以验证生产部署。已经测试了退出程序。 : - )