I need to setup a build plan in Bamboo for an repository in which check-in happens very rarely. So currently when the build happen it the packages in that repository get re-build which consume lot of time. So we are thinking to optimize the same. Below is the use case which we want to address.
So any thoughts how we can achieve the same?
Bamboo can't detect what part of your source tree has changed. If your "particular folder" is an independent module/project - why not put it into a separate repository and create separate plan for it?
I can write an script which will check for modifications for such things. But I am not getting how to merge the artifacts and publish it for later builds.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
What programming language/technologies your project uses?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Let me provide more information that what I am trying to achieve. I have a repository which contain audio files for different languages. Below is sample layout /test |---en |---enu |---fr Now some time there will be check-in in some of the directories or may be in all directories. So the build take longer time to build. So to avoid that I can write an script which can query to repository and find which directory has modification and then can make package for those directories. But here come another issue as the version is maintained using bamboo build plan in form x.x.x.<build no>.rpm. Now we want to achieve below stuff 1. Using the build script we build selected packages which has different version say for example en-1.0.0.100.rpm 2. Now initially we would have packages like en-1.0.0.10.rpm, enu-1.0.0.10.rpm and fr-1.0.0.10.rpm So we want to have mixed artifacts from the previous build and this build so the publish artifacts like below en-1.0.0.100.rpm, enu-1.0.0.10.rpm, fr-1.0.0.10.rpm Any thoughts how we can achieve it. As the build host are CentOs one we can have any language support to build the framework.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Bamboo can't merge artifacts from different builds. You'd have to create some additional utility that would scan Bamboo for artifacts and then combine them elsewhere. Other solution would be creating Jobs for every subdirectory in your folder. Such Job would always produce artifact but if you have multiple agents then multiple Jobs in the same Stage can be run in parallel making total build time shorter.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hmm, seems need to set Artifact download task for downloading older artifacts. After that need to develop a script which do this merge stuff if any change happens. As I have limited agents so that will not help as need to run for 25 such directories.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
My concern is do the build artifacts persist across builds for you on the build agent's build directory? If you are using AWS build agents, those build artifacts may disappear between instances of build agents.
However, assuming these build artifacts are there so they do not require being rebuilt, I'd recommend using a proper Makefile to minimize the number of items being rebuilt.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Basically we mark an artifact as milestone to make sure it is retained even after default time for delete. So we can retain it. But seems most of the work we need to do to achieve our use case. As bamboo is just providing a UI for build file and downloads :(
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
What you are asking for is not what a product like bamboo is designed for (IMO) so you are trying to fit a square peg in a round hole. If you pound on it enough it it will fit, but it won't be pretty ;) I recommend you refactor into multiple builds and create dependencies between them, then only the things that need re-building are built.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.