Вы, вероятно, захотите получить сервер разработки, а также, желательно, промежуточную среду. Никто никогда не должен продвигаться от местного производства к производству, кроме их собственного личного сайта. Ваш процесс развертывания должен поддерживать только dev-> staging-> prod. Вы, вероятно, хотите, чтобы кто-то отвечал за подписывание новых выпусков - в зависимости от организации, это может быть руководитель проекта, специальное обеспечение качества или обязанности, которые меняются каждую неделю (с осязаемым напоминанием, например, только человек с пушистой игрушкой на этой неделе попадает в От себя). Тем не менее, сначала обсудите это с вашей командой, чтобы получить бай-ин (см. Ниже).
Я хочу, чтобы это поведение каким-то образом наказывалось или делало его как можно более неприятным.
Вы могли бы иметь свой набор тестов (у вас есть один из них, верно?), Включающий проверку, которая определяет, находитесь ли вы на рабочем сервере, и, если это так, отправляет всем в офисе электронное письмо с надписью Looks like $username is testing on prod, watch out
. Возможно, публично опозорить вашего коллегу было бы неприятно. Или вы можете создать технические ограничения, такие как IP-адрес, запрещающий вашей команде смотреть на продукт (который вы можете снять, но вы должны оправдать это).
Я не рекомендую этого, однако, вы бы выглядели как проблема, а не как человек, который тестирует продукт, и вы могли бы сделать себя очень непопулярным среди людей в команде, которым все равно.
Конечно, вы действительно хотите, чтобы это поведение не наказывалось, а чтобы оно прекратилось ?
Я заставил их / нас использовать [...]
Здорово, что вы выступаете за улучшение рабочего процесса, но, похоже, вы либо не очень думаете о своих коллегах, либо не пользуетесь их полной поддержкой. Это может привести к тому, что коллеги наполовину будут активно взаимодействовать с рабочим процессом, выполняя минимум, необходимый для внедрения кода в производство, и на самом деле не следуя духу рабочего процесса, что будет означать больше времени, потраченного на очистку. И когда вы все больше и больше времени тратите на выяснение результатов неадекватного взаимодействия с рабочим процессом (потому что никто не заботится, верно?), Все остальные будут задавать вопросы самому рабочему процессу.
Итак, начнем с разговора.
Узнайте, почему это происходит (машина вашего коллеги не так хороша для тестирования? Ваш коллега неуверен с ветвями функций или застрял в svn-мышлении, где commit и push одинаковы?), Объясните, почему для вас проблема заключается в том, что непроверенный код идет на dev / staging / prod, и посмотрите, сможете ли вы что-то сделать, чтобы изменить причину этого (ваш коллега, скорее всего, сделает то, что вы хотите, если вы только что сделали более приятным локальное тестирование, чем если бы вы их просто ругали).
Если вы не можете решить эту проблему, и это действительно сводится к расхождению во мнениях, запланируйте групповое обсуждение на следующей ретроспективной встрече, посмотрите, что ваши коллеги делают и думают. Сделайте свое дело, но прислушайтесь к консенсусу. Может быть, ваша команда говорит, что не стоит локально тестировать текстовые исправления, и у вас просто есть правило, что никакие большие функции не попадают в dev без тестирования. Запишите на собрании и зачитайте, что вы вместе решаете о том, что разрешено в каждой среде. Установите дату через пару месяцев, чтобы просмотреть ее, может быть, в ретроспективе.