3

ビルドおよびテスト システムを Jenkins に移行しており、ビルド アーティファクトを管理するための簡単な方法 (すべてのロジックを自分でコーディングする必要がない) を探しています。

基本的に、ビルドのタイプ、ビルドしたユーザーなどの順序でそれらを保存するための整理された方法が必要です。

johnd/nightly/r543241/win32/program.zip
johnd/nightly/trunk/lin64/program.tar.gz
master/release/2.1/win32/program.zip

このようにして、ビルドが完了したときにアップロードし、テスト段階で必要なアーティファクトを簡単に取得できます。

今までは単にファイルを NFS 上のディレクトリに保存していましたが、最近アーティファクト マネージャーを検討し始めました。Artifcatory、Archiva、Nexus を見てきました。しかし、すべてが非常に Java 中心であるか、少なくとも操作するには Maven が必要なようです。これ以上複雑にしたくないので (私たちは主に Python を使用しており、ビルド ツールは scons です)、maven をミックスに導入したくないので、簡単なコマンド ライン (または成果物をアップロード、ダウンロード、管理するためのより優れた REST/Python インターフェイス)。

アーティファクト マネージャーを使用せず、他の巧妙な方法を使用してリリース/テストのニーズに合わせて C++ アーティファクトを管理している場合も、喜んでお知らせします。

4

1 に答える 1

0

私はまったく同じ問題を抱えています。私はアーティファクトを簡単に統合することに成功しなかったので、忘れていました。

今のところ、copy artefact プラグインを使用して、scp でファイルを NFS 共有にコピーします。しかし、2 台のマシンで共有が異なる方法でマウントされている可能性があり、Windows が共有に直接アクセスできないため、これは良い解決策ではありません。

しかし、実際のアーティファクト マネージャーは、私たちのプロジェクトにとって非常に良いことです。

以前の仕事では、優れたサービスを提供するドキュメンテーション CMS (LiveLink) を使用していました。 - 自己組織化フォルダー。-永続的なURL(フォルダーとファイルの移動、名前の変更、特定のファイルへのパブリックURLの変更はありません。これはとても素晴らしいことでした:「http://server/go/123456789123456789」は常に同じファイルを指していました。この URL を wget に渡すと、ファイルが取得されます - ファイルのバージョン管理 - メタデータ、高度な検索

私はまだオープンソースソフトウェアでそのようなソリューションを探していますが、見つかりません。

2 つのジョブ間で成果物を共有するだけでよい場合は、「別のビルドに成果物をコピーする」プラグインを使用するだけです。私はこれを使用して、ジョブをビルド ジョブとテスト ジョブに分割します (実際には 3 つのテスト ジョブがあり、1 つは各コミット後に非常に高速に実行され、もう 1 つは毎日非常に低速で実行され、もう 1 つは週末ごとに非常に低速で実行されます)。

于 2013-01-24T09:26:08.000 に答える