Hi all

We have several pipelines based on the same template that deploy code to 
all servers within the load balanced pool for an app (there's an agent on 
each app server tagged with the name of the app as a resource). However if 
an agent drops out of Go (e.g. because the agent process on the machine 
crashed), the code is not deployed to that agent. We need a way to make the 
pipeline fail if the deploy job did not complete on the expected number of 
agents. 

First we thought of creating a file called hosts/<hostname> on each of the 
agents, registering hosts/ as an artifact, then fetching the hosts/ 
artifact and counting the files in a final stage. The expected number of 
files would be set in a pipeline parameter. However, this approach doesn't 
work because Go was configured to fetch artifacts from <jobName> but the 
jobs that were run were named <jobName>-runInstance-1 .. 
<jobName>-runInstance-N.

The next suggestion was to interact with the stages API, but this is 
unappealing because it means dealing with permission and managing 
credentials for the Go AP, not to mention interacting with a REST API from 
a Windows (by necessity and not my choice) command line.

Does anyone have a simple elegant solution that would meet the requirements 
above without wholesale changes to our existing pipeline?

Thanks in advance,
John

-- 
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