TeamCity サーバーと OctoPack を使用して、複数の展開環境用のパッケージを構築しています。問題は、tentacle エージェントがパッケージの最新バージョンを選択するため、すべての環境に同じ (最新の) パッケージがデプロイされることです。セットアップの概要は次のとおりです。
- 環境 DEV および STAGE。
- DEV へのデプロイは、Git の「dev」ブランチからトリガーされます。
- STAGE へのデプロイは、Git の「stage」ブランチからトリガーされます。
- OctoPack は、DEV ビルド構成用にパッケージ MyProduct.1.0.0.dev-%build_counter% を生成するように構成されています。
- OctoPack は、STAGE ビルド構成用に MyProduct.1.0.0.%build_counter% パッケージを生成するように構成されています。
- TeamCity は、NuGet フィードを介して OctoPack アーティファクト (NuGet パッケージ) を公開するように構成されています。
- Octopus プロジェクトは、TeamCity NuGet フィードから NuGet Id MyProduct を使用してパッケージをデプロイするように構成されています。
つまり、DEV ビルドはより頻繁に実行されるため、%build_counter% が大きくなり、STAGE は独自のパッケージをデプロイする機会がありません。タコの触手は 1.0.0.dev-* 接尾辞が付いたパッケージを好みます。 .
これはかなり一般的なシナリオに違いありませんが、それを解決する簡単な方法は見つかりませんでした。