Ask HN: Open-source tool to build CI/CD pipeline?

11 points by kamrani ↗ HN
Are you interested in an open source tool that helps you build your CI/CD pipeline manifest (usually a yaml file) with predefined templates? For example you want a .gitlab-ci.yaml all you do is just drag and drop (or use cli) templates that grow everyday and just pass few parameters and you get the yaml file. (You don't need to even know how to organise the jobs in the pipeline, the tool will guide you) It can support Gitlab, Github actions, Jenkins, CircleCI, etc.

12 comments

[ 0.24 ms ] story [ 40.4 ms ] thread
I'd love a website with common use cases and templates.

As in , say I need to run a Unity build job on Gitlab, I'd like an example of that.

Exactly, you can just find what fits your use case. Plus you can easily switch from one tool to another one in a few minutes. I'll make it available soon.
For the GitLab pipeline editor, this experience should be built-in. Currently discussing to e.g. detect the source code and come up with tips and template suggestions automatically. Without context switching.

https://gitlab.com/groups/gitlab-org/-/epics/4858 and related issues.

Thank you , this is totally off topic, but I would love more organization on the schedules page. Things quickly get too hard to manage when you have more than 10 or 20 schedule set up for your CI/CD pipeline.
Argo and Tekton are projects that come to mind. Also, if you try to implement this, you will see that encapsulating your pipeline in a single file gets disorganized quickly.
Not exactly. Tekton and Argo are really different from what I described, but regarding the second part, agree that it won't be as perfect as what you can compose the file yourself (at least at the beginning) but that's not the point.
temporal.io
hmm, not sure how these two are related. Can you please explain a bit more?
Hi. Just to balance the dataset: I wouldn't be interested in such a tool. I use GitLab and I don't have a problem editing the `.gitlab-ci.yml` file given how infrequently I do that, and the certainty that if I relied on a tool that did that for me, I'd waste a lot of time fighting that tool to do a simple thing in YAML as opposed to actually doing it.

In short: it has no value for me. It doesn't solve a frequent problem, it doesn't solve a hard problem or an expensive one, and I am certain it will be my very problem and get in my way were I to use it.

Hi, I understand that you might be thinking I'm pretty comfortable doing what I'm doing, but there are few things that I'm not sure you've considered or not: 1) Are you comfortable editing your .gitlab-ci.yaml for the type of work you're doing or it's always the case? e.g. if you're a go developer, is it that easy for you to do the same for java? if your application is dockerized can you compose the file as fast if the application is supposed to run on ec2? what about a different cloud provider? 2) What if you decide to switch from Gitlab to TravicCI? 3) Do you consider your expertise with gitlab/bash/ci-cd above average, average or below average? 4) How exactly do you believe a tool that has generated at least the scaffold of your pipeline's file can make it more difficult for you to take the final step? Again, assume you want to create the file from scratch. 5) Regarding the frequency of the problem, I totally agree, we don't create or update our pipelines everyday, but almost every developer/team has to do that. I personally am very comfortable working with Gitlab, cause I've used it non-stop for two years, but when I want to use Github action, I have to read the documentation and it can take me couple of hours to figure out what to do.
>1) Are you comfortable editing your .gitlab-ci.yaml for the type of work you're doing or it's always the case?

Yes.

>e.g. if you're a go developer, is it that easy for you to do the same for java?

Did it for a variety of languages and environments.

>if your application is dockerized can you compose the file as fast if the application is supposed to run on ec2? what about a different cloud provider?

I test on multiple cloud providers. I have to.

>What if you decide to switch from Gitlab to TravicCI?

I'll deal with that when I have to. It hasn't happened in years.

>Do you consider your expertise with gitlab/bash/ci-cd above average, average or below average?

Define average. I get by.

>5) Regarding the frequency of the problem, I totally agree, we don't create or update our pipelines everyday, but almost every developer/team has to do that.

Yes, and once it's done it's pretty much done. Some tweak here and there, maybe think about it when the CI itself (running off Docker image) has to build a Docker image and push it somewhere, but other than that, the CI file is the least edited in the repo.

>I personally am very comfortable working with Gitlab, cause I've used it non-stop for two years, but when I want to use Github action, I have to read the documentation and it can take me couple of hours to figure out what to do.

I've been using it for more than five years and if I had to use GitHub actions, I'd rather spend two hours getting to the bottom of it than spend two hours on an abstraction.

Not being a dick or telling you it's useless. I'm sure there are people who'll find it useful but, as I said, I'm balancing the dataset. I think in terms of impact as a function of frequency and gravity and I ruthlessly prioritize. I have to.

Yes, and I understand this may be the equivalent to the infamous reply to Dropbox on HN :D I wish you to be a billionaire and for your product to succeed. I might even use it before when you'll have shown me the way and I realize I was living like a savage, refusing tractors for faster horses and all.

You're awesome man. Your response is honest and valuable. I don't know a single product everyone likes or thinks it's good or even it deserves the smallest attention.

Also this is not the product I'm working on, it's a biproduct of what I'm woking on which helps you go from code to a full fledged platform with lots of built-in integrations on your own cloud in a few minutes.

It's just something I thought many people spend a lot of money on (I've been paid for it ;) ) while it can be perfectly automated so I thought I make this service open-source and free for ever so some people don't necessarily pay for something they shouldn't and have more freedom switching the ci/cd tools.

Think of it as Jenkins Syntax tool or the way you build Azure DevOps pipelines. Thanks again for sharing your point of view.