Вземайте решение за пускане с доказателства
ЗавършеноПроверете версията, целевата среда, оставащия риск и метода за възстановяване. Разграничете merge, внедряване и предоставяне на потребителите, когато системата го изисква.
Проверете разбирането сиПроверяващ одобрява commit A, но внедряването изгражда артефакт от commit B с допълнителна промяна в правата. Какво е нужно?Направете упражнението
Какво ще научите
- Определете за какво трябва да се отнася решението за пускане.
- Разграничете merge, внедряване и предоставяне на функционалност.
- Определете условия за спиране или връщане на пускане.
Посочете решението точно
Зелен pipeline е доказателство от набор проверки. Не е пълно описание на решението за пускане. Отговорникът трябва да знае какво ще се промени, къде и какви последствия остават.
За измислен клиентски експорт определете приетия commit и произведения от него артефакт. Посочете целевата среда. Свържете съответните тестове, прегледа и всяко одобрено изключение. Включете промените в данните или инфраструктурата, които придружават приложението.
SSDF на NIST предоставя практики за сигурна разработка, а данните за произход по SLSA помагат да се опише как е произведен артефакт. Нито едно не премахва нуждата от решение дали тази версия е подходяща за тази услуга. NIST SSDF, произход по SLSA.
Разграничете три събития
Merge включва промяна в изходния код в клон. Внедряване поставя артефакт в среда. Предоставяне на функционалност прави поведението достъпно за потребителите. Тези събития могат да съвпадат, но не са непременно едно събитие.
Услуга може да внедри неактивна функционалност и да я предостави по-късно. Миграция на база данни може да засегне продукционната среда, преди да се появи видима функционалност. Определете действителната последователност, вместо да приемате, че merge на PR описва всяко последствие.
За експорта feature flag може да ограничи първоначалното предоставяне. Той не защитава автоматично нов endpoint и не връща миграция на схема. Проверете контрола там, където възниква последствието.
Прегледайте кратък запис на доказателствата
Използвайте запис, който друг отговорен човек може да прегледа:
- Цел и засегнати потребители.
- Идентичност на commit-а и артефакта.
- Съответни проверки за поведение, сигурност и съвместимост.
- Целева среда и идентичност за изпълнение.
- Оставащи изключения с отговорници и условия за изтичане.
- Мониторинг, метод за възстановяване и отговорник за реакцията.
Пазете твърденията конкретни. „Тестовете преминаха успешно“ е по-слабо от връзка към резултати за commit-а за пускане с ясно описание на покритието. „Има rollback“ е по-слабо от тествана процедура с посочени граници.
Решете как да спрете
Определете условията за пускане преди изпълнение. За измисления експорт спрете, ако достъп между организации успее, ако digest-ът на артефакта се различава от приетия или ако възстановяване не е налично. Това са илюстративни условия, а не универсален контролен списък.
След внедряване прегледайте сигналите, които имат значение за потребителите. Сравнете поведението при грешки и времето за отговор с приетите цели на услугата. Работоспособен процес не доказва, че потребителският работен процес работи.
Ако условие не е изпълнено, използвайте договорената реакция. Това може да означава спиране на предоставянето, rollback на съвместим код или възстановяване на данни. Изберете действието, което адресира неуспеха, без да създава по-голям проблем.
Запазете решението след пускане
Запишете действително внедрения артефакт и резултата. Ако изпълнението се различава от плана, направете разликата видима. Използвайте инцидентите и неочакваната работа при проектиране на следващото пускане.
Автоматизирана система за доставка трябва да прави този запис по-лесен за преглед. Не трябва да изисква проверяващ да възстановява пускането от несвързани чатове, логове и снимки на екрана. Ясните доказателства позволяват на екипите да автоматизират рутинната работа, като запазват решения с ясно поета отговорност.
Направете упражнението
Подгответе измислена бележка за пускане на клиентски експорт. Включете commit, digest на артефакта, среда, проверка на права, ефект от миграция, отговорник за мониторинга и условие за възстановяване. Посочете едно условие, което би спряло пускането дори при успешни unit тестове.
Изтеглете работния лист (Markdown)Премахването на тази отметка изтрива целия напредък, запазен в този браузър.
Напредъкът остава в този браузър. Без акаунт и проследяване.