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.

Reply via email to