We create packages for several deployment environments using the TeamCity and OctoPack server. The problem is that the tentacle agent selects the latest version of the package number, so it has the same (last) package that is deployed in all environments. Here is a brief description of our installation:
- DEV and STAGE environments;
- Deployment in DEV is launched from the Git branch "dev"
- Deployment to STAGE starts from the Git branch "stage"
- OctoPack is configured to create MyProduct.1.0.0.dev-% build_counter% packages for DEV build configuration;
- OctoPack is configured on the created packages MyProduct.1.0.0.% Build_counter% for the configuration of the STAGE assembly;
- TeamCity is configured to expose OctoPack artifacts (NuGet packages) through the NuGet feed;
- The Octopus project is set up to deploy packages with the NuGet Id MyProduct from the TeamCity NuGet feed.
So what happens is that since DEV assemblies run more often, they have more than% build_counter%, and STAGE does not get the ability to deploy their own packages. Octopus tentacle prefers packages with 1.0.0.dev - * suffix.
This should be a fairly common scenario, but I have not found an easy way to solve it.
deployment nuget teamcity octopus-deploy
Vagif abilov
source share