The singular .gitlab-ci.yml is pretty beefy. Splitting it into smaller files by job and job template will make maintaining the individual jobs easier.