What I do for utility scripts is that I have a pipeline with two stages. - The first stage runs all the tests for the utility scripts. - The second stage runs on all agents and installs the newly tested version of the scripts on all of them.
If I add new agents or if some agent was disabled when the scripts were last updated, I have to manually rerun the second stage to get it updated. (Since I did this, we started to use Ansible for instrumentation of servers, so I should really install these scripts from an Ansible playbook, and I suppose the logical thing would be to let stage 2 in the pipeline mentioned above should trigger the Ansible playbook on all go-agents, instead of having a duplicated way of installing the scripts.) Most of my pipelines simply assume that current versions of the utility scripts are installed on all agents, just like compilers and all other tools needed. I have some maintenance pipelines which are scheduled to do cleanup jobs on the go-server or on all go-agents, and they actually use the utility script pipeline as material, simply because each pipeline needs some kind of material, and in this case I'm really abusing GoCD and putting somthing that could go in a cron-tab in GoCD, since I want to be alerted for e.g. failures to clean up disk space on the go-agents just as I want to see failing builds... -- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
