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