Шлях 04Урок 9 / 10

Ухвалюйте рішення про випуск на основі доказів

Перевірте версію, цільове середовище, залишковий ризик і спосіб відновлення. Розділяйте merge, розгортання та відкриття функції користувачам, коли цього потребує система.

Практика9 хвПереглянуто

Видавець Як ми пишемо

Перевірте своє розумінняРецензент схвалює commit A, але розгортання збирає commit B з додатковою зміною авторизації. Що потрібно?Виконайте вправу
Рецензент схвалює commit A, але розгортання збирає commit B з додатковою зміною авторизації. Що потрібно?

Чого ви навчитеся

  • Визначати, до чого має належати рішення про випуск.
  • Відрізняти merge, розгортання та відкриття функції користувачам.
  • Визначати умови зупинки або скасування випуску.

Точно сформулюйте рішення

Зелений pipeline — це докази, отримані в результаті набору перевірок. Це не повний опис рішення про випуск. Відповідальному потрібно знати, що зміниться, де відбудеться зміна та які наслідки залишаються.

Для вигаданого експорту даних клієнтів визначте прийнятий commit та артефакт, створений з нього. Назвіть цільове середовище. Додайте посилання на відповідні тести, перегляд і кожен схвалений виняток. Включіть зміни даних або інфраструктури, що супроводжують застосунок.

SSDF від NIST надає практики безпечної розробки, а SLSA provenance допомагає описати, як створено артефакт. Жодне не усуває потреби вирішити, чи цей випуск підходить для цього сервісу. NIST SSDF, SLSA provenance.

Розділіть три події

Merge додає зміну вихідного коду до гілки. Розгортання розміщує артефакт у середовищі. Відкриття функції робить поведінку доступною користувачам. Ці події можуть збігатися, але не обов’язково є однією подією.

Сервіс може розгорнути неактивну функцію та відкрити її пізніше. Міграція бази даних може вплинути на продуктивне середовище до появи видимої функції. Визначте фактичну послідовність замість припущення, що merge PR описує кожен наслідок.

Для експорту прапорець функції може обмежити початкову доступність. Він не захищає автоматично новий endpoint і не скасовує міграцію схеми. Перевірте засіб контролю в точці, де виникає наслідок.

Перегляньте стислий запис доказів

Використовуйте запис, який може перевірити інша відповідальна особа:

  • Мета та користувачі, яких стосується зміна.
  • Ідентичність commit та артефакту.
  • Відповідні перевірки поведінки, безпеки та сумісності.
  • Цільове середовище та ідентичність виконання.
  • Залишкові винятки з відповідальними й умовами завершення їх дії.
  • Моніторинг, спосіб відновлення та відповідальний за реагування.

Формулюйте твердження конкретно. «Тести пройдено» — слабше за посилання на результати для commit випуску з чітким описом покриття. «Відкат доступний» — слабше за перевірену процедуру із зазначеними межами.

Визначте, як зупинитися

Визначте умови випуску до виконання. Для вигаданого експорту зупиніться, якщо доступ до іншої організації успішний, якщо артефакт відрізняється від прийнятого digest або якщо відновлення недоступне. Це ілюстративні умови, а не універсальний контрольний список.

Після розгортання дослідіть сигнали, важливі для користувачів. Порівняйте поведінку помилок і час відповіді з прийнятими цілями сервісу. Справний процес не доводить, що робочий процес користувача працює.

Якщо умова не виконана, застосуйте узгоджену реакцію. Це може означати закриття доступу до функції, відкат сумісного коду або відновлення даних. Виберіть дію, що усуває збій, не створюючи більшого.

Збережіть рішення після випуску

Запишіть фактично розгорнутий артефакт і результат. Якщо виконання відрізняється від плану, зробіть цю відмінність видимою. Використовуйте інциденти та неочікувану роботу під час проєктування наступного випуску.

Автоматизована система доставки має полегшувати перевірку цього запису. Вона не має змушувати рецензента відтворювати випуск із непов’язаних чатів, журналів і знімків екрана. Чіткі докази дають командам змогу автоматизувати звичайну роботу, зберігаючи відповідальність за рішення.

Виконайте вправу

Підготуйте вигадану примітку до випуску експорту даних клієнтів. Включіть commit, digest артефакту, середовище, перевірку авторизації, вплив міграції, відповідального за моніторинг і умову початку відновлення. Назвіть одну умову, що зупинить випуск навіть за успішних модульних тестів.

Завантажити робочий аркуш (Markdown)
Перевірте своє розуміння ↑

Продовжити навчання

Джерела та додаткові матеріали

Матеріали Taiga за темою

← Попередній урок: Координуйте розробку з ШІ між командами