Unpopular opinion: CI/CD engines are an awful idea

This page summarizes the projects mentioned and recommended in the original post on /r/devops

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • gotaskr

    A generic task runner for Go

    I have used many CI systems on large scale and to be honest, Jenkins is still my favorite. Everything you need is provided and works. You have 100% control over the workflow. With code. All those declarative yaml based ones need sooooo much workarounds to get more complex workflows to run and often you are just stuck with a less optimal solution. Beside the build workflow, we do not write any build logic in the ci engine but use external code runners instead. For .Net I used Cake or Nuke build for example but now my absolute preference for build logic is go. There we use a task runner like gotaskr. This helps having the build logic centralized and usually you can also run different build tasks locally to debug and test them. Also with go, you don‘t need any runtime to run the logic. Just build the task runner once and then you can copy the binary anywhere (eg for parallel build tasks) and just run it. This is optimal to integrate it in Docker base builds so you don‘t need to change the base image at all.

  • mkdkr

    mkdkr = Makefile + Docker

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • action-upterm

    Debug your GitHub Actions via SSH by using upterm/tmux to get access to the runner system itself.

    In the event you're in GHA, take a look at this: https://github.com/lhotari/action-upterm

  • typescript-action

    Create a TypeScript Action with tests, linting, workflow, publishing, and versioning

  • dagger

    Application Delivery as Code that Runs Anywhere (by dagger)

    Yeah, it can. https://dagger.io/

  • Cake

    :cake: Cake (C# Make) is a cross platform build automation system.

    This is why 90-99% of our builds are done with Cake. It isolates all of it and you can run the build locally if you want.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts