0

私は竹継続的ビルドの順番を決める一方で、混乱がアップロードアーティファクトとinetgrationレベルとの間にある(または端への)混乱していますが順次、私が設定している私のプロジェクトの1として竹連続ビルド順序

をテスト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. がartifactory /ネクサスでレポを解放するためにcadidate-リリースからアーティファクトを推進します。

  2. ライブにデプロイする。

  3. スモークテストを実行し、検証テストを実行します。

私はMavenのPOMやNPMのproject.jsonからproject.versionを読み出して、それの最後にビルド番号を追加することで、過去にこれを行っています。ビルドツールを使用してバージョンを元に戻しました。例:mavenの場合は、mvn versions:set -DnewVersion=1.0.0-buildnumという行に沿って何かを使用します。 pomがスナップショットでチェックインされるとき、私は通常それを取り除きます。