Сейчас при запуске раннера он скачивает изменения из гита в одну и ту же папку.
Что нужно сделать, что бы при запуске раннера, он пулил код с гита в новую папку, например "release_1", в след раз "release_2" и т.д. (дабы потом папка с проектом сменила ссылку на новый релиз). и хранить последнии 10 релизов.
непонятно, зачем хранить где-то там код в отдельных каталогах, он уже и так есть в репозитории.
что касается уже скомпилированного и собранного проекта, то это реализуется через артефакты сборки: https://docs.gitlab.com/ee/user/project/pipelines/...