flosell / lambdacd

a library to define a continuous delivery pipeline in code
https://www.lambda.cd/
Apache License 2.0
676 stars 59 forks source link

Sidebar with pipelines. #185

Closed alehatsman closed 6 years ago

alehatsman commented 6 years ago

Hello,

While using this great project I have noticed that it should not be hard to implement UI for all pipelines that user defines in his project. I mean something like a homepage with the list of pipelines. I found that I do the same for each pipeline: create the pipeline, start runner, define a link for it and then create a compojure handler for it.

I think that it is a good idea to abstract that in a way that you can pass a vector of pipelines with a configuration to some function from lambdacd.

Example of configuration:

[{:name :project-pipeline
  :pipeline project-pipeline ; or even like a keyword :namespace/project-pipeline 
  :url "/project"
  :runner :start-one-run-after-another}]

What do you think, does that make sense?

Aleh

flosell commented 6 years ago

Yes, that's absolutely possible. Have a look at this example: https://github.com/flosell/lambdacd-cookie-cutter-pipeline-example

I haven't updated this in a while but the basic concepts should still work. You might also find a few interesting pieces in this wiki page: https://github.com/flosell/lambdacd/wiki/Guide:-Pipeline-Structure-Refactoring

I also know some people who built quite advanced setups similar to what you have in mind, I'll try to find out if any of that can be shared

alehatsman commented 6 years ago

Clear for now. Will think about standard API in reference UI for it.