Make a useful .gitlab-ci.yml mirroring job

This continues work in #23756 (moved) to make a .gitlab-ci.yml job to usefully mirror a repository in a GitLab instance that doesn't support built-in mirroring (e.g., Community Edition).

See, e.g., ticket:23756#comment:4

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information