We have a few javascript frontend projects that have a git branch per customer/tennant. ATM we trigger a build on the target server using a powershell script to pull the correct branch, build, pack and deploy to IIS. This has the downside we can’t see the current version in Octopus. Is there any way to report back the deployed version from the target machine?
The alternative would be to set up build per branch in Teamcity, but I’m not sure how to handle this automatically in Octopus. Are there any patterns/solution for this?
Currently there are 4 different projects on about 10 tenants, but this will increase, so manual handling is out of the question.
Thanks for getting in touch! I may need to get some more information from you to give you a satisfactory answer, however I will try and provide you with some information that should help.
The first thing i would like to check is that you have checked out our TeamCity documentation, you most likely have already seen this, if not, it is worth checking out.
We also have some extensive documentation on how Octopus handles branching and how you can implement it.
The option of setting the #{Feed-ID} is useful for configuring a dynamic external feed. Mainly this would be used when the location of the packages is changed dynamically. If you are attempting a branching patter with your deployment, our above branching documentation would be a good place to start. My help here is a bit limited, but with some more information I could probably help a lot more. Would you be able to attach a screenshot of your deployment process? And perhaps some more information about your build process? I’m not sure if you are pushing your applications to multiple external repositories. (Which is what we use the dynamic feed ID for).
It looks like you should also incorporate channels into your process here. For information on channels, please see the following:
There is a branch per customer/tennant.
Teamcity builds per branch. Same feed is used. Version and package id is built from branch name.
Package is pushed to Octopus internal library
Deploy step package id is built from tennantname
But a release cannot be created, since package name is dynamic. See attached screenshots for details.
I don’t think channels is right, since this will lead us to channel per tennant.