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時,我通常會將其剝離。