So I have my 1st repo auto-building and deploying the new jar to my remote server. The trick is my application is broken up into 7 distinct repos, so if I make a change to any file in the 1st repo, the CI build process needs to build this repo, but also kick off all of the other repos so that after all complete, a new war is created and is then rsynced to the dev server. Some of these repos are needed down the chain, so really repo #7 requires the prior jars created in the 1st 6 builds. Can a change in one repo set off builds of all the other repos in the chain? Another example is a change is made in repo 3 which kicks off that build and then the builds for repo 4, 5, 6 and then 7 in order.
Ok I was able to answer my own question. I used a trigger to fire off the next build in the chain:
- “curl -X POST -F token=TOKEN -F ref=REF_NAME http://xx.xx.xxx.xx/api/v4/projects/26/trigger/pipeline”
All you have to do is create a token and replace TOKEN with the value. Keep in mind TOKEN references the token you create on the project to be triggered. I added the when attribute to only run if the prior stage was successful. You could get fancier by creating a secret variable and house the token in it in case you need to recreate the token. That way, you don’t have to change the yaml script.