インストルメント パターンの初期段階では、ビルダーは単にシグナルのヒープを追加し、記録データのヒープを収集して報告するだけかもしれません。 この記録データの一部は、機械がパターンから製造部品に移行するにつれて、価値がなくなる可能性があります。 有効な統合 (CI) からの原則の宣言は、ハンドブック ビルダーが不要な信号の代替として貴重に機能するようになります。
DevOps の動きそしてインストルメント パターン ゲインにおける最新の処理では、開発者のワークフロー内で問題を早期に処理するための省略形としてシフト レフトについて多くのことが語られました。
セーフティーでシフトレフト 終盤まで安全性への好奇心をそそられないテクニック。 テスト 手法を左にシフトし、テスト結果をビルダーにより早く提供します。 ここでの根底にある意見は、開発者ワークフローの早い段階で問題にタイトルを付けるほど、グループがそれらを修復するためのマイルが安くなるというものです。 つまり、セキュリティ ワームをすぐに見つけて取引を行うことは、ロールアウト全体でデバッグするよりもはるかに安価であり、製造で悪用された後にそれを発見するよりも安価です。 比較対象は、常識の問題、プログラムのクラッシュ、効率性、安全性など、あらゆる形態の重要な欠陥に適用されます。 それは、すべてのニットがエディター内でチャンスを与えられ、まっすぐにマウントされなければならないと常に主張しているわけではありません。 . (このトピックの詳細については、 ソフトウェア プログラム ワークフロー内のトレードオフ
に関する私の最新の ACM 技術発言をご覧ください。)
それを念頭に置いて、次の勇敢な主張を発明することができます: CI — 例として GitHub Actions または Jenkins — は、イベント内で得られるものです Google の地球規模の時系列データベース (
https://compare.google/ pubs/pub50652/).
CI メソッドは、主要なフォームとテストの自動化です。 :コードを形成し、ほとんどの場合と同じようにテストを泡立てます。 CI を使用した Presubmit テストは、CL が概要のために出荷されたときに発生する可能性があり、「このチェンジリスト (CL) が送信されるとすぐに変更された場合、テストは落ち着くでしょうか?」と尋ねます。 プットアップテストは、CL の提出中に設計が行われたにもかかわらず、テストがコミットされるとすぐに何が変更されたかを確認します。 立て直しのケースでは、CI に依存して、「テストは頭で安静に合格していますか?」
各 CIそして、開発者のワークフロー内の同等の一般的な引き分けを警告します。タイトルの問題は、合理的に疑いの余地がないほど迅速です。 CI は、開発者ワークフローの左側 (初期) の側面を強調します。 これにより、より高速なソリューション ループが可能になり、理想的には一貫性の高いテストを使用して製造上の問題を未然に防ぐことができます。 アラートはダイアグラムの遅い終点で機能し、メトリクスを監視して何らかの状況に遭遇した後にレポートすることで問題をキャッチします。 アラートは製造時に (最も明確に) 発生しますが、カナリア リリースやステージング リリースなどの初期のリリース フェーズでも効果的に発生します。 Google Drive などの Google の一部のチームは、古いテスト レコードデータを使用して複数の製造前環境を取得し、これらの環境でのシグナルを製品と同等のシステムであると宣言しています。
「合理的に疑いの余地のない限り早期に問題を特定する」というこの共通の引き分けを想像してみましょう。 CI の場合、これはバグを次の種類のパーツに組み込むよりも早くキャッチすることを意味します。 アラートの場合、これはバグがユーザーに影響を与えるものに変わるよりも早くバグを修正することを意味します。 現代の「合理的に疑いのない」セクション—これは、過剰な最適化や過度のエンジニアリングを望まないために必要な条項です。 この種の架空のマシンに起因する、すべての間違いなくワームをまっすぐに安全にするほど見事に調整されたテストマシンを書き留めたくはありません。多くの偽陽性。 同様に、全ロットのアラートや、ユーザーに影響を与える可能性のあるその他の状況を安全にしたくありません。多くのバグは一時的なものであるか、追跡するのが非常に小さいか微妙です。
刑務所警報機を効果的に導入すると、製造現場の環境を確実に整えるのに役立ちます。監獄形式 — SLO が満たされ、エクスカーションが迅速に検出されます。 効果的に実装された場合、刑務所 CI マシンは、フォームが刑務所形式であることを確認するのに役立ちます。コードはコンパイルされ、テストが行われ、必要に応じて真新しいリベラートを展開できます。 一貫性と実用的な警告のヒントについて、両方の分野で最も単純な保険契約を教育します。テストは、テストが脆弱または不安定であるという説明の代わりに、必要な基本的な不変条件に違反した場合にのみ失敗する可能性があります。 同様に、シグナルは、アラートが実行可能である場合にのみ発生する可能性があります。CI を数回実行するたびに失敗する不安定なテストは、理由のないアラートが急速に鳴り、オンのページを生成するのと同じくらい強力な悲しみのように純粋に正しいです。 -電話。 実行できない場合は、アラートではないはずです.