I built a plan in Bamboo to deploy any changes in master branch to our test environment.
To deploy changes, we have a complex process and it requires couple of files accessible to Bamboo. Because I don't know how and where to store these files, for now, we kept those files in master branch.
If someone pushes a commit by deleting one of these two files then our build fails because Bamboo build uses these two files to deploy code into destination environment.
These two files shouldn't be part of the repository but instead should be in a location accessible only to Bamboo build process.
Any suggestions for this?
" You mentioned that the files that you require for the builds should not be in the repository. I am not sure what structure the files have but in Bamboo you could use the Variables task (https://confluence.atlassian.com/bamboo/configuring-a-variables-task-687213475.html), with the only limitation that there is an assumption made by this task that the structure of the file is key-value pairs.
The steps that you could use are:
1. Format the information in the files as key-value pairs to comply with the Variables task assumption mentioned above.
2. In your build plan use a script task (or a SCP task) to copy the files to the Bamboo server, unless they are alreaddy present on it somewhere on the filesystem.
3. In your Build plan use Variables tasks to read the information from the files into the Bamboo environment accessible to the build plan. You will need to use one Variables task for each file.
4. Use other types of tasks to complete your build plan.
I hope this helps.