DEV Community

Discussion on: Which CI/CD tool do you use?

Collapse
 
michaelcurrin profile image
Michael Currin • Edited

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.

build: npm run build && jekyll build
Enter fullscreen mode Exit fullscreen mode

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.

Collapse
 
niharrs profile image
Niharika Singh ⛓

THIS IS AWESOME! Have you written some step-by-step tutorial on this?

Collapse
 
michaelcurrin profile image
Michael Currin

Here is my Netlify tutorial

github.com/MichaelCurrin/code-cook...

Collapse
 
michaelcurrin profile image
Michael Currin

I added an intro section to my Actions resource with links to some pages.

github.com/MichaelCurrin/code-cook...

Thread Thread
 
michaelcurrin profile image
Michael Currin