0

我感到困惑,同时决定竹持续构建的秩序,混乱上传文物和inetgration水平之间(或端对端)测试竹持续构建顺序

按我的项目我已按照下面的顺序 - 1.构建,junit,上传工件(-snapshot),集成级别测试(无需应用程序),部署服务到服务器,端到端测试(需要部署的应用程序)

我有一个混淆,上传工件)应该在最后,即在端到端测试之后,或者设置的是正确的顺序。

我认为上传工件(-snapshot)应该在所有测试(集成和端到端测试)结束后才会上传,然后只应上传快照。

我想到的第二个想法是,应该将端到端测试作为部署工件的一部分来完成。

想想这个吗?谢谢

+0

它取决于你的神器。你提到“快照”,它有什么用处。回答自己的问题。即使end2end测试或集成测试失败,您的快照仍然有效吗?如果是的话,那么你很高兴在你这样做的地方做到这一点。但是,如果不是这样,那么最后你应该这样做。还有一个建议,我不确定你在e2e中有多少测试,如果只是抽烟测试,那么它很好,否则作为单独计划的一部分,在计划测试运行时进行测试。你不希望你的整个应用程序等待大量的e2e测试。 – TypeScripter

回答

0

似乎连续交付的思想学派是为了避免ci概念的快照。

您是否在构建阶段考虑做以下

  1. 集版本1.0.0-buildnum;
  2. 跑快试单位,整合;
  3. 运行质量检查,例如声纳;
  4. 标签回购与构建版本包;和
  5. 上传到artifactory/nexus与构建版本的候选版本回购;

在部署/释放阶段

  1. 下载从候选版本1.0.0-buildnum;
  2. 将包部署到aat;
  3. 运行自动功能测试(例如黄瓜,JMeter的)

在部署住:

  1. 促进从cadidate释放工件以释放artifactory的/关系回购;

  2. 部署住;

  3. 运行烟雾测试,部署验证测试;

我已经通过从maven pom或npm project.json中读取project.version并将编号附加到它的末尾来完成此项工作。我使用构建工具重新设置了版本。例如,我使用的东西沿线mvn versions:set -DnewVersion=1.0.0-buildnum。当快照签入Pom时,我通常会将其剥离。