I am working with a multi-configuration Jenkins project. The two configuration axes are Win/Linux and 32/64-bit. I would like to build the primary configuration (32-bit Windows) whenever version control changes, but to only build the other configurations once weekly (just to make sure that they stay reasonably up to date).
Is it possible to achieve this schedule without breaking the project up into multiple individual projects?
Unfortunately not through Jenkins directly at this point AFAIK. There is only one time handler per job, and the multi-configuration is a single job, it has a single timer.
There is a hack, but it will be tough, and I’m not sure of the exact script required, but if you can check the day of the week, you could try something like this in your script:
This way:
Note that
$NODE_NAMEis a standard Jenkins environment variable. However, this assumes that your build is done through either “Execute Shell” or “Execute Windows Batch”Is there any reason the others shouldn’t build at the same time?
You could create two jobs, one for your primary so it is a free-style job, and the other as a multi-configuration with Win64/Linux and leave that on a separate, weekly timer.