Прымайце рашэнне аб выпуску на аснове доказаў
ЗавершанаПравярайце версію, мэтавае асяроддзе, астатнюю рызыку і метад аднаўлення. Аддзяляйце merge, разгортванне і адкрыццё функцыі карыстальнікам, калі гэтага патрабуе сістэма.
Выдавец TaigaЯк мы пішам
Праверце сваё разуменнеРэцэнзент ухваляе commit A, але разгортванне збірае commit B з дадатковай зменай аўтарызацыі. Што патрэбна?Выканайце практыкаванне
Чаму вы навучыцеся
- Вызначаць, на што павінна спасылацца рашэнне аб выпуску.
- Адрозніваць merge, разгортванне і адкрыццё функцыі карыстальнікам.
- Вызначаць умовы спынення або адмены выпуску.
Дакладна сфармулюйце рашэнне
Зялёны канвеер — доказы ад набору праверак. Гэта не поўнае апісанне рашэння аб выпуску. Адказнаму трэба ведаць, што зменіцца, дзе гэта зменіцца і якія наступствы застаюцца.
Для выдуманага экспарту даных кліентаў вызначце прыняты commit і створаны з яго артэфакт. Назавіце мэтавае асяроддзе. Дадайце спасылкі на адпаведныя тэсты, праверку і кожнае ўхваленае выключэнне. Уключыце змены даных або інфраструктуры, якія суправаджаюць праграму.
SSDF ад NIST дае практыкі бяспечнай распрацоўкі, а SLSA provenance дапамагае апісаць, як створаны артэфакт. Ніводны з іх не прыбірае патрэбы вырашыць, ці падыходзіць гэты выпуск гэтаму сэрвісу. NIST SSDF, SLSA provenance.
Аддзяляйце тры падзеі
Merge змяшчае змену зыходнага кода ў галіну. Разгортванне змяшчае артэфакт у асяроддзе. Адкрыццё функцыі робіць паводзіны даступнымі карыстальнікам. Гэтыя падзеі могуць супадаць, але не абавязкова з’яўляюцца адной падзеяй.
Сэрвіс можа разгарнуць неактыўную функцыю і адкрыць яе пазней. Міграцыя базы даных можа паўплываць на production да з’яўлення бачнай функцыі. Вызначайце фактычную паслядоўнасць замест дапушчэння, што merge PR апісвае ўсе наступствы.
Для экспарту feature flag можа абмежаваць пачатковае адкрыццё функцыі. Ён не абараняе аўтаматычна новы endpoint і не адмяняе міграцыю схемы. Правярайце меру кантролю там, дзе ўзнікае наступства.
Перагледзьце сціслы запіс доказаў
Выкарыстоўвайце запіс, які можа вывучыць іншы адказны чалавек:
- Мэта і закранутыя карыстальнікі.
- Ідэнтычнасць commit і артэфакта.
- Адпаведныя праверкі паводзін, бяспекі і сумяшчальнасці.
- Мэтавае асяроддзе і ідэнтычнасць выканання.
- Астатнія выключэнні з адказнымі і ўмовамі заканчэння дзеяння.
- Маніторынг, метад аднаўлення і адказны за рэагаванне.
Захоўвайце сцверджанні канкрэтнымі. «Тэсты прайшлі» слабейшае за спасылку на вынікі для commit выпуску з выразным апісаннем ахопу. «Адкат даступны» слабейшае за правераную працэдуру з указанымі межамі.
Вырашыце, як спыніцца
Вызначце ўмовы выпуску да выканання. Для выдуманага экспарту спыніцеся, калі доступ да іншай арганізацыі паспяховы, калі артэфакт адрозніваецца ад прынятага digest або калі аднаўленне недаступнае. Гэта ілюстрацыйныя ўмовы, а не ўніверсальны кантрольны спіс.
Пасля разгортвання вывучыце сігналы, істотныя для карыстальнікаў. Параўнайце паводзіны памылак і час адказу з прынятымі мэтамі сэрвісу. Працаздольны працэс не даказвае, што працоўны працэс карыстальніка працуе.
Калі ўмова парушана, выкарыстоўвайце ўзгодненае рэагаванне. Гэта можа азначаць закрыццё доступу да функцыі, адкат сумяшчальнага кода або аднаўленне даных. Выберыце дзеянне, якое вырашае збой, не ствараючы большага збою.
Захоўвайце рашэнне пасля выпуску
Запісвайце фактычна разгорнуты артэфакт і вынік. Калі выкананне адрозніваецца ад плана, зрабіце розніцу бачнай. Улічвайце інцыдэнты і нечаканую працу пры праектаванні наступнага выпуску.
Аўтаматызаваная сістэма пастаўкі павінна палягчаць вывучэнне гэтага запісу. Яна не павінна прымушаць рэцэнзента аднаўляць выпуск з разрозненых чатаў, журналаў і здымкаў экрана. Выразныя доказы дазваляюць камандам аўтаматызаваць звычайную працу і захоўваць адказнасць за рашэнні.
Выканайце практыкаванне
Падрыхтуйце выдуманую нататку аб выпуску экспарту даных кліентаў. Уключыце commit, digest артэфакта, асяроддзе, праверку аўтарызацыі, уплыў міграцыі, адказнага за маніторынг і ўмову аднаўлення. Назавіце адну ўмову, якая спыніць выпуск, нават калі модульныя тэсты праходзяць.
Спампаваць працоўны ліст (Markdown)Зняцце гэтай пазнакі выдаляе ўвесь прагрэс, захаваны ў гэтым браўзеры.
Прагрэс застаецца ў гэтым браўзеры. Без уліковага запісу і адсочвання.