"Converged" Build Chain?

I have a number of different projects that get built by their respective build configs. I would like to now setup a build chain to "promote" these projects to a Release build. The release process is identicle for all of the projects so I was hoping to create a single build config for the release and setup snapshot dependencies on all of the projects. However, it doesn't appear possible to run the chain and ONLY trigger project X and the Release build. It wants to pull in ALL of the projects (rebuilding some of them if needed).

Has anyone else attempted to do something like this? what alternatives or solutions have you found? I've started looking at the "Finished build" trigger but that will only work for the automated parts of my flow. I need a way to manually "promote" to my release build but I wanted to avoid having a release config in each of the projects. Even though they can all be attached to the same template, it still makes for a lot of redundant configs and will inevitably lead to configuration drift.

Thanks in advance.

Spencer

3 comments
Comment actions Permalink

Hi Spencer,


Do I correctly understand that you want to manually promote the build chain? If yes, then you can open the build results page of the dependency build and click Actions | Promote. In this case the whole build chain won't be rebuilt.
If it is not what you need, then please describe your use case in more details.

0
Comment actions Permalink

Hi Alina,

Thank you for the reply. I do want to "manually" promote a build, but the behavior you described is not what I am observing. I will try to detail my process better below

Capture.PNG

Above I have 4 different project builds. each is a completely seperate project, however, when I want to release any one of these projects I do the exact same thing, for example, zipping up the package and uploading to some cloud storage. Since this process is the exact same, I would like to have a SINGLE release promotion as outlined above.

I have implented the above design with a SNAPSHOT dependency between the RELEASE build and the 4 PROJECT builds.

Now, if I go to PROJECT A, click on a specific build and then use the Action | Promote... button, I can promote the build to the RELEASE config. So far so good.

Unfortunately, when the RELEASE build is triggered, it first checks ALL of it's snapshot dependencies, and if it needs to, it runs a new build on ALL of the Project configs. This gets confusing because then it might look like Project B was promoted when it shouldn't have been.

the only solution I know of right now is to have ONE release build PER project, so there is an individual chain between each project and its respective promotion. This is okay for a few projects, but I manage a system with about 20 projects cycling in and out and I was just curious if there might be another way that I am not aware of.

I hope that helps clarify my situation. thanks!

0
Comment actions Permalink

Spencer,

Thank you for the detailed description. We have the related request https://youtrack.jetbrains.com/issue/TW-16426, please vote for it.
As for now the workarounds are described in this comment or to create a separate Release build configuration for each project. You can use templates to simplify the setup.

0

Please sign in to leave a comment.