おそらく開発サーバー、できればステージング環境も取得したいと思うでしょう。自分の個人Webサイトを除き、誰もローカルから本番にプッシュするべきではありません。展開プロセスは、dev-> staging-> prodのみをサポートする必要があります。おそらく、新しいリリースの承認を担当する人が必要です-組織によっては、プロジェクトリーダー、専用のQA、または毎週交代する義務があります(具体的なリマインダーで、たとえばその週にふわふわのおもちゃを持っている人だけが押す)。ただし、最初にチームと話し合い、賛同を得ます(以下を参照)。
この振る舞いを何らかの形で罰するか、できる限り不快にしたいのです。
テストスイート(これらの1つをお持ちですか?)に、運用サーバーにいるかどうかを確認するチェックを含めることができます。その場合、オフィスの全員にを伝えるメールを送信しますLooks like $username is testing on prod, watch out
。同僚を公然とsha辱することは、おそらく不快です。または、チームが製品をIPで禁止するなどの技術的な制限を作成することもできます(これは解除できますが、正当化する必要があります)。
ただし、prodでテストしている人ではなく、問題のように見え、気にしないチームの人々に非常に不人気になる可能性があります。
本当にあなたが本当に欲しいのは、この振る舞いを罰するのではなく、止めることです。
私はそれらを使用するように強制しました[...]
ワークフローの改善を提唱しているのはすばらしいことですが、同僚のことをあまり考えていないか、完全にサポートされていないようです。これにより、同僚がワークフローと半熱的にやり取りし、コードを本番環境に導入するために必要な最小限の作業を行い、ワークフローの精神に実際に従わない可能性が高くなります。そして、ワークフローとの不適切な相互作用の結果を明確化するためにますます多くの時間を費やしている場合(誰も気にしないからですよね?)、他の誰もがワークフロー自体に疑問を呈しています。
だから、会話から始めましょう。
なぜそれが起こっているのかを調べてください(同僚のマシンはテストに適していませんか?同僚は機能ブランチについて不確かであるか、コミットとプッシュが同じsvnマインドセットで立ち往生していますか?)、テストされていないコードが問題になる理由を説明してくださいdev / staging / prodで、なぜそれが起こるかを変更するために何かできるかどうかを確認します(単にあなたが彼らを非難した場合よりも、ローカルでテストしたほうが良い場合、同僚はあなたが望むことをする可能性が高くなります)。
それを解決できず、意見の相違に本当に帰着する場合は、次の回顧会議でチーム全体の議論をスケジュールし、同僚が何をしているか考えてください。主張するが、コンセンサスに耳を傾ける。たぶんあなたのチームは、テキストによる修正をローカルでテストしなくても良いと言っており、大きな機能がテストされていない状態で開発に適用されないというルールがあります。ミーティングに書き留めて、各環境で許可されていることについて集合的に決定した内容を読み上げます。数か月後に日付を設定し、おそらく回顧展でレビューします。