GitLab
GitLab allows for comprehensive CI/CD pipelines. More on pipelines can be found here.
To use the builtin CI/CD feature, enable them in your repository in the project features settings.
If it is a docker image that is being built, also enable the docker registry:
Settings > General > Visibility, project features, permissions (expand) > Pipelines (| Container registry)
After enabling the pipelines, you need to add a .gitlab-ci.yml file to configure jobs. More on the .gitlab-ci.yml can be found here.
GitLab itself has many templates built in. To access them add a new file via the WebUI and choose .gitlab-ci.yml as template.
Examples