I have been researching a lot on CI/CD tools lately.
I have worked on TravisCI before, and recently with GitHub Actions.
I'd love to know which ones do you use and why!
I have been researching a lot on CI/CD tools lately.
I have worked on TravisCI before, and recently with GitHub Actions.
I'd love to know which ones do you use and why!
For further actions, you may consider blocking this person and/or reporting abuse
Sam -
Charan Sajjanapu -
Pranav Bakare -
akpvt -
Top comments (56)
GitLab.
I can have my source code, pipeline, backlog, documentation, and just about everything else associated with the project all in one place. Why use 5 tools when 1 will do?
Bonus points: you can host your own CI runner, so you won't be restricted by those 1-2-3000 monthly minutes.
Yeah, but my org has 10k pipeline minutes for a small team, so I've not needed to look into getting additional minutes yet. If/when I do, it's only $8 for another 1000 minutes as a group. We also have 2k minutes per user, so we don't find it overly limiting.
At some point in the next 6 months we will be moving to our own runners, purely because we're moving to self-hosting of GitLab for additional security.
Haha! I agree.
I love GitHub Actions. It integrates well with my PRs for testing code and deploying React and Jekyll sites.
I have collected resources and a bunch of borrowed workflows for reference in case you find something useful or want to be the first to contribute a PR. (Or open an issue an I'll make a page for your usecase)
github.com/MichaelCurrin/code-cook...
I've never setup Travis before. We use CircleCI at work and the config looks similar to GH Actions and also let's you say block PR merge until tests pass. But I prefer fewer tools so GH Actions works fine for me until I find a strong reason to use CircleCI.
For static site or web app building such as React or Jekyll I highly recommend Netlify. The overhead is high for GH Actions for caching dependencies, installing deps, building and persisting as a GH Pages site... By that I mean I have to write and maintain the code myself and I have to mix and match pieces when moving between projects and languages. I have setup GH Pages publishing for a few projects and covered in my cookbooks but still need my own reference to figure out what to do (and which of the many similar Actions in the marketplace I need).
Contrast with Netlify.com where it will recognize and install your python, yarn, npm, or ruby packages for you (even a mix of those together in a project), it will cache them for you for faster builds and you only need a one line build command! e.g.
I usually use
make build
so I can use easy run the command locally too and not duplicate code.A Netlify build is super light to setup and maintain across a dozen projects because there is so little to configure. And there are a bunch of other features you get which aren't on GH Actions/Pages or would be harder to setup. Netlify has some plugins you can opt into with a config flag or checkbox like asset optimization or prerendering a SPA as a static site for crawlers, so it takes away overheard of researching and writing GH Actions code.
THIS IS AWESOME! Have you written some step-by-step tutorial on this?
I added an intro section to my Actions resource with links to some pages.
github.com/MichaelCurrin/code-cook...
I wrote a tutorial! dev.to/michaelcurrin/intro-tutoria...
Here is my Netlify tutorial
github.com/MichaelCurrin/code-cook...
I've used buddy.works with great joy, because it has a really nice UI to click together your CI/CD flow. It's particularly great for small apps or a quick prototype, because you don't need to write a config file.
Downside is it offers less flexibility and is more costly if you scale. For these reasons, I use CircleCI for bigger projects.
Since I always use the same stack, my CircleCI config is growing with me, and I now just cherry pick parts that I need for any new project.
Pricing is fair, and you can execute failing test again and ssh into the CircleCI container for debugging, which is amazing.
I've read a ton of interesting stuff about Jenkins, but so far have been too lazy, to set up my own instance for that. Obviously, that is the cheapest and most versatile option, but at the cost of more configuration time for me.
AWS now also offers a CI/CD platform, didn't look into it yet though. Generally, the AWS services are pretty usable.
I don't understand why Buddy is not that popular. It's a great tool imho. :D
It is :)
Interesting! I'll definitely check out buddy.works.
we're using Jenkins like almost everywhere in our projects. we've tried to use another tools as well but seems Jenkins are beyond them. many users use jenkins, many documentation, many communities to share and solve problems.
I agree.
Huge fan of GitHub actions for how simple it is to get a workflow right next to my code to do exactly what I need.
Also, a big fan of Buildkite when I need that exact same experience but my steps may be dynamic and/or conditional.
I agree. GH Actions are simply awesome. Reading about Buildkite for the first time. Thanks for sharing.
GitHub Actions.
Even though it's new, plenty of shareable configs available for all types of projects.
Enough free minutes even for private projects which is great for personal projects.
I do have one project in Azure DevOps which I didn't move to Actions yet. Why move if it's working. So Azure DevOps is another option.
I hear great things about TravisCI and CircleCI but I can't spend extra for private repositories.
True! GH Actions is pretty damn cool
This is an interesting thread I've used quite a few over time I currently using Azure DevOps for most of my automation followed by github actions and netlify. I'm interested in learning more about buddy so thanks for all who praise it.
Just tried out GitHub Actions and it seems pretty good: Easy on-boarding for new projects, since you can create the initial version of the workflow file right there in the web interface; Pretty fast execution on GitHub own infrastructure after commits/PRs.
True!
I use Semaphore. I began using it when they commissioned me to write on their blog. Professional interest aside, I started using it for my personal projects because it's really fast. It's a paid product, but free for open-source projects.
Oh, I didn't know about it. Thanks for sharing! :)
I have heard about Jenkins and I have read some things about it, not thoroughly but only a brief overview or introduction.
If you use Jenkins, or start to, remember to rotate and clear down logs. It's a huge disk space sink if logs are left turned on. Something I discovered and wrote about a couple years ago
Thank you I was looking for getting started with DevOps, so I have to look at the options as well.
Yes, that road has to be treaded.
Ooh thanks for the pro tip!