>
> GoCD claims to be a CI/CD tool.  While there are definitely classes of 
> apps that don't need anything other than a single server on which to build 
> and run its integration tests, there are just as certainly classes of apps 
> where that is not sufficient.  And, I can't think of any apps right now 
> where deployment simply means "run build script on remote server".
>
> So, I don't feel like what I'm asking for is "random admin tasks", rather 
> I feel like it's an integral part of handling the deployment and, in many 
> cases, integration testing of an app.  If not, what differentiates a CI/CD 
> system from a build server?
>

Good point.  I am going by some of my own experience with pipelines that do 
things like switch a server config.  It's tempting to put those tasks into 
pipelines but I think the key differentiator here is that pipelines are 
intended to *move materials. *The GoCD team docs and people tend to say 
thing like:

*One of the reasons Go mandates materials for every pipeline is we want to 
promote the practise [of] everything (code, scripts, configuration etc.) is 
checked into SCM / use a package (created by upstream pipeline or pushed 
into some package repository)*
(see, e.g https://github.com/gocd/gocd/issues/876)

The reason I think this task is maybe better served outside of GoCD is that 
it doesn't seem like something that would depend on materials.  You can 
kick off that task at any time -- with no inputs. If you try to model that 
kind of thing in GoCD you'll find yourself adding a "dummy" material to the 
pipeline which to me is a hint that you're trying to wedge something into 
GoCD that would be better done elsewhere (I've been down this road myself 
with pipelines like "RebootServer"). 

You can certainly do this but it will be kind of weird. Running that task 
isn't really part of "flowing a version of a material through an 
environment"   It's not a task that would meaningfully appear as part of a 
larger value chain.  As such I think you might find it more convenient in 
the long run to just keep it outside of GoCD.(e.g. set up a cron job or a 
Jenkins job or something similar.

Rock on!
Jason


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