Should I use Jenkins to Test or Gradle?

  • I loathe Jenkins and it’s Jenkinsfile, and the older XML or GUI configuration for their plug-ins. So I do everything in gradle and have jenkins run gradle commands.

    Just to share: there is value in the ability to run the build on any developer machine. Jenkinsfiles, GitHub Actions workflow yaml files, and GitLab CI yaml files can’t be run on any machine without some shim program to interpret and run those files.

    So I see this as a separation of concerns problem. Jenkins is to run builds in a distributed manner, gradle or bash scripts are to orchestrate the build/testing.

    Right now we have mix of Macs, Linux and Windows devs. I’m considering replacing bash scripts with Powershell Core in projects that do not have/want gradle. Powershell is promising and fully cross platform.

    I personally believe gradle does to much. But there isn’t much choice in Java projects.