If you’re already using GitHub or Gitlab you could look at their CI/CD tools within their platforms. I’m using GitHub actions with a self hosted runner and quite like the simplicity of it compared to building & managing a Jenkins instance.
I really like TeamCity from JetBrains. It seems to not be the most popular, but I think it's leagues ahead of Jenkins. Though, unlike Jenkins, TeamCity is not open source. For an instance with up to 3 agents and a maximum of 100 build configurations its free.
The TC devs have been incrementally improving a refresh on its UI called Sakura, which is quite nice but can also be managed using config as code which uses xml.