1

NuGet / OpenWrapが主に作成され、設計されたものと、それが少し前にリリースされてからどのように採用および適用されてきたかを完全に理解しています。

しかし、私はそれをさらに別の方法で使用する他のケースを見ることができます。私が考えていたことの1つは、実行時の依存関係に注意を向けています。

私が取り組んでいるエンタープライズ製品スイートには、基本的に、さまざまなサービスとオプションのモジュールで構成されるコアが付属しています。これらのモジュールはプラグインして特定の機能を利用可能にし、要件に応じて独自のソリューションを形成します。これらの独自のソリューションは、社内のリモートサーバー、データセンター、クラウド、パティオなど、ほぼすべての場所に導入されています。

言うまでもなく、バグ修正とメンテナンスの更新の展開は複雑であり、手動で実行する必要があり、エラーが発生しやすく、不器用であることが証明されています。特に、インターフェイスのリビジョンと他のコンポーネントは一致する必要があり、主要な展開では通常、すべてのモジュールのポリーニングを解除する必要があるためです。

個人的には、すべての独自のソリューション用のインストーラーパッケージ(MSI、Webインストーラーなど)を作成することはあまり好きではありません。これはすぐに手に負えなくなり、拡張性があまり高くないためです。

パッケージマネージャーとカスタムフィードがこのプロセスの合理化に役立つかどうか疑問に思いました。たぶん私は間違った方向に考えているので、コメントや考えをいただければ幸いです。

4

1 に答える 1

1

私たちはそれを成功させました。OpenWrapを呼び出すだけで、パッケージを特定のディレクトリに更新できます。アプリのデプロイは、デプロイしたいパッケージに新しい記述子を追加し、openwrapに解決を任せるだけです。

これは特に、OpenWrapにシステムリポジトリ(ユーザーごと)の概念があり、リダイレクトすることもできるため(アプリケーションごとに1つ、またはテスト用に複数のリポジトリを分割する場合など)、うまく機能します。

新しいアプリのデプロイは、記述子が関連付けられた新しいフォルダーを追加するか、アプリケーションをシステムリポジトリに直接追加するだけです。自動更新は、バッチジョブでopenwrapコマンドラインツールを実行するだけで実装できます。

1つ上のレベルに移動したい場合は、OpenWrap APIを活用し、パッケージを動的に追加/削除することで、アプリケーションをコンポジットにすることができます。ランタイムアセンブリ解決を利用できます。

于 2011-05-04T15:49:47.707 に答える