I'm sure that this happens frequently. My testing suite is a separate repository from the company's main app. I wanted to know If there's a way to run the suite when a change is pushed to repository other than that of the testing suite itself on Jenkins.
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
You should be able to configure a job to watch the app repository and trigger a run when the app repository changes.
It will be easier to configure if the company's application is managed through the same Jenkins server as your testing suite (depending on your source control system one Jenkins server can handle multiple source control repositories), but even if you have multiple Jenkins servers you can create a job to kick off your script run.
As Kate mentioned, it's lot easier to configure the job on your company's Jenkins...
But if it isn't an option then you can try:
Poll the subversion/perforce/git - monitor a repository. So as soon as the changes are committed to the repository, your build can kick off. Additionally there is "Quiet period" in "Advanced project Options", which will wait additional time before it starts building. This is useful if you want to wait for some time or more commits are expected.
Other hack though but not Jenkins way: You can script something to monitor the changes. Suppose any file which will represent the build information/timestamp or any changes that you are sure it will get updated whenever company's build succeeds.
You can configure such job in your Jenkins and run it through a cron using "Build Periodically". Whenever script find changes it should succeed or else fail, if succeed you can trigger your test suite if fails nothing will happen. This can be configured from "Add post build action" > "Build other Projects". You have to save it to see the options