Linked Projects

Hello,

I’m wondering what the best structure / solution for this scenario is:

Project 1: API1
Steps:

  1. Pull WEB1 out of load balancer
  2. Deploy API1 to WEB1
  3. Put WEB1 in load balancer
  4. Pull WEB2 out of load balancer
  5. Deploy API1 to WEB2
  6. Put WEB2 in load balancer

Project API2
Steps

  1. Pull WEB1 out of load balancer
  2. Deploy API2 to WEB1
  3. Put WEB1 in load balancer
  4. Pull WEB2 out of load balancer
  5. Deploy API2 to WEB2
  6. Put WEB2 in load balancer

As you can see, the problem is that these two projects are linked due to a hardware deployment, but logically, they are separate.

So take the following scenario into account:

10:05AM API1 is checked in and gets auto-deployed
10:06AM API2 is checked in, and gets auto-deployed.
10:07AM API1 finishes auto-deploy
10:08AM API2 finishes auto-deploy.

We would like something like the following to happen:
10:05AM API1 is checked in, and begins auto-deployment.
10:06AM API2 is checked in, but is paused (because something knows that API1 is currently deploying)
10:07AM API1 finsished auto-deploy
10:08AM API2 starts auto-deployment
10:09AM API2 finishes auto-deployment.

Anyone have any suggestions on how to manage this?

Thanks!
Craig

Hi Craig,

Thanks for getting in touch! Hopefully I am understanding this correctly. In this scenario if your project 1 is deploying to an environment such as Production and using the roles WEB1 and WEB2 then project 2 will automatically queue in Octopus if it is deployed to the same environment. We will by default queue deployments to the same environment regardless of roles. You have to change the settings in projects to change this behavior.

You should be able to confirm this by trying to deploy both projects to QA or Dev and watch that they will queue behind each other.
Vanessa