I'm enthusiastic about Concourse (https://concourse-ci.org/). It's a pipeline-based CI system based on Yaml configuration files. It's highly flexible and has numerous plugins to interface with third party systems. There's a Helm chart to deploy Concourse to Kubernetes: https://github.com/linkyard/concourse-helm-resource.