ステータスボードは「プロジェクトマネージャー」のためのものです。壊れたビルドに泡ミサイルの集中砲火で報復します。
Retaliation は、「ビルドを破壊した」開発者に対する泡ミサイル反撃を自動的に調整する Jenkins CI ビルド モニターです。これは、事前にプログラムされた制御シーケンスをUSB フォーム ミサイル ランチャーに再生して、攻撃的なコード モンキーをターゲットにすることによって行われます。
より深いレベルでは、 Retaliation は単なる「単純な Python スクリプト」ではありません。これは、ソフトウェア開発チームとソフトウェア開発ライフサイクルの管理方法を根本的に再考するものです。これは深層心理レベルで機能し、外部コンサルタントが語る他の「極端なプログラミング」では見られない生産性の向上を実現します。すべてのプログラマーの心理に潜む相互確証破壊の根本的な脅威により、最もずさんな開発者であっても、「失われたファイルを再度チェックインする」ことを決して忘れることはありません。
報復により、ペアプログラミングで約束されたものの、決して実現できなかった生産性の向上がもたらされました。導入以来、ビルドの破損が 13.37% 減少しました。
ウィル、チーフコードハッカー
正直なところ、Lava Lamp ビルド通知機能を備えた開発チームで働きたいですか?次は何でしょうか?にゃん猫のネズミマット?本物のプログラマーは報復の脅威の下で働いています。
マット、コーディングマシン
箱に記載されていることを実行します。私のチームでは改善が見られましたが、まだインストールすらしていません。まったくの脅威によって、私のチームのコーディングは混乱してしまいました。
トム、ヘッドコードキャプテン
このビデオでは報復の動作を見ることができます。
Dream Cheeky Thunder USB ミサイル ランチャーを中央の固定場所に取り付けます。
ミサイル発射装置に接続されているシステムに retaliation.py スクリプトをダウンロードします。
retaliation.py
スクリプトのCOMMAND_SETS
変更して、ビルドブレーキコーダー (Jenkins にリストされているユーザー ID) ごとにターゲット コマンドを定義します。コマンド セットは、移動コマンドと発射コマンドの配列です。各コマンド セットを「ゼロ」コマンドで開始することをお勧めします。これにより、ランチャーが既知の位置 (左下) に駐車されます。次に、「上」と「右」を使用し、その後に時間 (ミリ秒単位) を使用して射撃の位置を決めます。
ターゲット名を指定して retaliation.py を呼び出すことで、セットをテストできます。例えば:
python retaliation.py "[developer's user name]"
試行錯誤が最善のアプローチです。最良の結果を得るには、営業時間外に密かにこれを行うことを検討してください。
Jenkins 通知プラグインをセットアップします。 retaliation.py
をホストするシステムを指すポート22222
でUDP
エンドポイントを定義します。ヒント:ファイアウォールがこのポートの UDP をブロックしていないことを確認してください。
次のコマンドを実行して、失敗したビルド イベントのリッスンを開始します。
python retaliation.py stalk
(これをブート/スタートアップ スクリプトとして設定することを検討してください。Windows では、 pythonw.exe
を起動してバックグラウンドで非表示にして実行し続けます。)
DEFCON 1 を待ちます - 戦争ゲームを始めましょう!
テスト中に「頭の中でいくつかのことに対処」してくれた PaperCut の開発チーム (印刷管理ソフトウェアに取り組んでいます) に感謝します。
取り付け位置は慎重に選んでください。オフィススペースの中心となる場所を選びましょう。ターゲット間の角度分離を最大化するよう努めてください。これにより、同士討ちの可能性が減ります...しかし、これも領土に付随するものであり、すべて楽しみの一部です。
両面テープを使用してランチャーを貼り付けて位置を固定することを検討してください。これにより、誰かが「物理的ハッキング」を使用して座標ターゲット システムを妨害する可能性が低くなります。
体格を壊す加害者が至近距離にいる場合、健康と安全上の理由から、頭ではなくキーボードやモニターをターゲットにすることをお勧めします。
カバーする範囲が広い場合は、複数回のミサイル発射を検討してください (クラスター支援など)。複数のマシンにスクリプトを設定し、Jenkins で複数のエンドポイント通知を構成します。
これを Windows で動作させるには、PyUSB と libusb-win32 をインストールする必要があります。これは少し難しいかもしれませんが、CI ビルド スクリプトをマスターしていれば、これは簡単なはずです。
開発チームがダウンアンダーで、報復の効果が失われていることに気付いた場合は、パンチを加えるために各ミサイルをベジマイトに浸してみてください :-)
retaliation.py
、 Dream Cheeky USB Missile Launcherのコマンドライン スクリプト API としても機能します。次のように、これを呼び出して、スクリプトまたはコマンドラインからデバイスを制御できます。
retaliation.py reset
retaliation.py right 3000
retaliation.py up 700
retaliation.py fire 1
他にクールな使い方や報復のアイデアを思いついた場合は、ぜひあなたのストーリーを共有してください。