No current targets match for tenanted project

We have setup a tenanted project according to the tenant document.

We have:

  • A project where tenants are required for all deployments
  • A tenant set up and linked to the above project.
  • Variable sets, nearly identical to the documentation (common and tenant scoped variable sets), where all tenant variables that are required have been filled out
  • Deployment targets that are linked to the UAT and Production environments, AND to the Tenant, AND (because we’re pulling our hair out) to a Tenant Tag, and to the correct Role (Portal_Server)
  • Azure web app steps that are running on behalf of our given Role above (Poral_Server).

But it always says:

In the package selection, we are trying to use the variables that are Environment specific (basically from your tenant documentation), so these:

Portal.#{Environment.Alias}.#{Tenant.Alias}

But these never seem to resolve when creating a release.

When we hard-code the package id (the auto-complete-to-select-a-package) in the step, it finds the version and shows up on the release page.

We are not sure if the package finding is related to the “No deployment targets” error.

The really odd thing about this is that if we push through anyway (create a release and just select the versions we know to use), then we can do a tenanted deployment, and actually SEE the targets in the deployment steps preview:

Hi,

Regarding the “No current targets match” message, it seems this is just a poorly worded title on the information box. You can safely ignore it. In fact I’ve raised an issue for us to remove it, which we’ll action ASAP.

Regarding using variable-expressions in your package ID:
This is the expected behaviour. Octopus can’t resolve those variables at release-creation time, as they are presumably scoped to environments or tenants. These can be only resolved at deployment time, once the environment and tenant are known.
You should still be able to enter the package version.
Is the fact the latest/last versions aren’t available causing you friction, or is it something else?

If I may ask (we’re always interested in deployment scenarios), what is contained in the packages that you vary by environment and tenant?

Thanks for the response.

On the “No current targets match” issue, that makes sense. We were actually able to push through (and it found targets), so I thought surely this is a bug.

Regarding the other issue:
We have two sets of projects (web & mobile). The web projects deploy process I’m updating to be build once, deploy everywhere (as this is your unspoken motto, and the best way IMO).

But the Mobile projects are flavored for specific tenants (logos, colors). Unfortunately it’s embedded in the package and can’t be done with config transforms (Xamarin iOS / Android / UWP).

So are you saying that even though it can’t be resolved at release creation time, this will eventually resolve correctly (at deployment time):

?

That’s correct. Many people use variable expressions in package ID’s in this way.
Of course, please reach out if it doesn’t work as expected.

Thanks for explaining your scenario. That makes sense, and is not an uncommon pattern.

I believe that should all work nicely, but if not you know where to find us :slight_smile: