Probabilmente vorrai ottenere un server di sviluppo, e preferibilmente anche un ambiente di gestione temporanea. Nessuno dovrebbe mai spingere da locale a produzione tranne per il proprio sito Web personale. Il processo di distribuzione dovrebbe supportare solo dev-> staging-> prod. Probabilmente vuoi qualcuno responsabile della firma di nuove uscite - a seconda dell'organizzazione, questo può essere un lead di progetto, un QA dedicato o un dovere che ruota ogni settimana (con un promemoria tangibile, ad esempio solo la persona con il giocattolo soffice quella settimana arriva a spingere). Tuttavia, discutilo prima con il tuo team per ottenere il buy-in (vedi sotto).
Voglio che questo comportamento sia punito in qualche modo o lo renda spiacevole il più possibile.
Potresti avere la tua suite di test (ne hai una, vero?) Che include un controllo che determina se sei su un server di produzione e, in tal caso, invia a tutti in ufficio un messaggio di posta elettronica Looks like $username is testing on prod, watch out
. Forse vergognare pubblicamente il tuo collega sarebbe spiacevole. Oppure potresti creare restrizioni tecniche come l'IP-vietare al tuo team di guardare prod (che puoi sollevare ma devi giustificare).
Non lo consiglio, però, sembreresti il problema, non la persona che sta testando il pungolo e potresti renderti molto impopolare con le persone del team a cui non importa.
Sicuramente quello che vuoi davvero non è che questo comportamento sia punito, ma che si fermi ?
Li ho costretti / noi ad usare [...]
È fantastico che tu stia sostenendo miglioramenti del flusso di lavoro, ma sembra che tu non pensi molto ai tuoi colleghi e / o che tu non abbia il loro pieno supporto. Ciò può comportare l'interazione accesa a metà dei colleghi con il flusso di lavoro, facendo il minimo necessario per ottenere il codice nella produzione e non seguendo realmente lo spirito del flusso di lavoro, il che significherebbe più tempo speso a chiarire. E quando passi sempre più tempo a chiarire i risultati di un'interazione inadeguata con il flusso di lavoro (perché a nessuno importa, giusto?) Tutti gli altri metteranno in discussione il flusso di lavoro stesso.
Quindi inizia con una conversazione.
Scopri perché sta succedendo (la macchina del tuo collega non è adatta ai test? Il tuo collega è incerto con i rami delle funzionalità o bloccato in una mentalità svn in cui commit e push sono gli stessi?), Spiega perché è un problema per te che il codice non testato vada su dev / staging / prod, e vedi se riesci a fare qualcosa per cambiare il motivo per cui accade (il tuo collega farà più probabilmente quello che vuoi se hai appena reso più bello il test a livello locale che se li hai appena rimproverati).
Se non riesci a risolverlo e si riduce davvero a una differenza di opinione, organizza una discussione a livello di team nella prossima riunione retrospettiva, vedi cosa fanno i tuoi colleghi e pensano. Fai il tuo caso, ma ascolta il consenso. Forse il tuo team dice che va bene non testare le correzioni testuali localmente, e hai solo una regola che nessuna grande funzionalità va su dev non testata. Annotare nella riunione e leggere ciò che si decide collettivamente su ciò che è consentito in ciascuno degli ambienti. Stabilisci una data tra un paio di mesi per esaminarla, magari in una retrospettiva.