Да, помню как-то ломал голову над этим, но в конечном итоги оказывалось, что есть какой-то вариант, что разработчик может получить доступ к продакшн-серверу.
Тогда я решил это тем, что у основного проекта был доступ только к staging, а для прода был форк этого проекта со своим раннером.
Но после этого у Гитлаба добавили несколько фишек, то может теперь и есть и другой вариант.
Сегодня я думаю можно так:
- иметь 2 раннера: один для staging, один для production
- раннер для production поставить разрешение запускать только на `master`
- у разработчика нету привилегий для доступа к `master`.
При этом подразумевается, что staging и production - это разные серверы.