Following is detailed scenario
I have 3 code branches and these branches are meant to be deployed on 3 environments . These branches are mapped with unique projects in Octopus deploy . Each branch build multiple msi (say 2 per branch viz. A.msi and B.msi) and the release number is release sequence. Say 1.1.0 to branch-1 , 1.2.0 -branch-2 and so on . Integration job build each msi with assign build number prefix with release sequence. e.g. When I run branch-1 , A.msi octopack with version 1.1.Buildnumber with id “A” and B.msi with revison 1.1…Buildnumber with id “B” and get stored in library. While uploading to library my job also create release 1.1.0 and assign these msi to that release. I am using these IDs for installation and should be unique to all environments. Till this everything works as expected .
So on my first run branch-1 release 1.1.0 has 2 msi A.msi with revision 1.1.buildnumber and B.msi with revision 1.1.buildnumber.
When I run job on branch-2 release 1.2.0 will get created with A.msi with revision 1.2.buildnumber and B.msi with revision 1.2.buildnumber . As I have same “ID” the later one will be always shows as latest because the build number 1.2 which is greater than 1.1
Now when I again run job on branch-1 the release number 1.1.1 get created correctly , the msi A.msi (1.1.newbuildnumber) , B.msi (1.1.newbuildnumber) get stored in library , but release 1.1.1 shows the content with branch-2 msi because 1.2 is greater than 1.1
I can edit the release before deploying and assign the branch-1 msi , but is there any other way i can handle this ?
Thanks for getting in touch!
It appears that this is occuring as you are using the same package ID to refer to different packages. If each branch can publish the package with a different Package ID (ie A-branch1.msi), then this should avoid this problem.
If that is not possible, you may want to consider using channels instead of multiple projects. With channels, you can setup version rules to select version 1.1.newbuildnumber.
Hope that helps!
From: Matt Richardson [mailto:firstname.lastname@example.org]
Sent: 31 October 2016 01:04
To: Prashant Sawant
Subject: Re: Octopus Packages in Library [Questions #9611]
I need to understand what channel does , changing ID is not possible
Thanks & Regards
Hope that helps!
what is octo command line to use existing channel … I do not want to create multiple channels
You can use
octo.exe create-release --channel=XXX ... to use a specific channel. If you do not pass the
--channel argument, it will attempt to detect the best channel based on the package version.
Hope that helps.