Използвайте правила за защита на клонове, за да осигурите качествени приноси към вашите репо сделки

GitHub предоставя набор от опции, които ви позволяват да определите конкретни критерии, които трябва да бъдат изпълнени, преди заявка за изтегляне да може да бъде обединена във вашето хранилище. Тази статия ще очертае как да конфигурирате „правило за защита на клон“, което изисква заявките за изтегляне да бъдат прегледани и „проверка на състоянието“, за да се гарантира, че тестовете се изпълняват в различни среди. За по-малко време, отколкото е необходимо, за да изпиете чаша кафе, вие можете драстично да намалите риска от фалшиви сливания, които да опустошат вашия код.

🛡 Защитете своя клон

Първата стъпка към охраната на кралството е да добавите „правило за защита на клона“. Добавянето на правило за защита на клон ви позволява да посочите списък с критерии, които трябва да бъдат изпълнени, за да обедините промяна в защитен клон. Определянето на списък от критерии, които трябва да бъдат изпълнени преди сливане, ви позволява да формализирате и автоматизирате повтарящи се задачи, които са необходими, за да осигурите качествени приноси към вашето репо. Защитите на клонове са безплатни за публични репо сделки, но изискват Pro абонамент, за да бъде добавен към частни репо сделки.

Добавете първото си правило, като щракнете върху раздела Настройки на страницата GitHub на вашето хранилище и отидете до секцията Клонове. Обърнете внимание на вашия клон по подразбиране (обикновено main) и щракнете върху Добавяне на правило:

Въведете main в полето Модел за име на клон и натиснете Enter или щракнете върху Запазване на промените:

Поздравления! Току-що дефинирахте main като защитен клон. В следващата стъпка ще започнете да определяте критериите, които трябва да бъдат изпълнени, за да могат промените да бъдат обединени във вашия защитен клон.

👀 Изискване на прегледи

Когато се изисква преглед, някой с насочен достъп до вашето репо трябва да даде благословията си за отворена заявка за изтегляне, преди заявката за изтегляне да може да бъде обединена в защитен клон. Изискването за преглед на заявка за изтегляне е чудесен начин за намаляване на броя на въведените грешки, тъй като гарантира, че някой с опит в работата с вашето репо е проверил промяната и е задал въпроси, когато е подходящо.

За да изисквате заявките за изтегляне да бъдат прегледани, щракнете върху квадратчето до Изискване на заявка за изтегляне преди сливане. Не забравяйте да поставите отметка в квадратчето до „Изискване на одобрения“:

Страхотно! Сега, когато се отвори заявка за изтегляне, бутонът Обединяване ще бъде деактивиран, докато поне 1 сътрудник не прегледа и одобри промените. В последната стъпка ще добавим „проверка на състоянието“, за да гарантираме, че конкретно действие е изпълнено успешно до завършване.

🦿 Изпълнете тестове

Важно е да изпълните всички тестове във вашето хранилище за всяка промяна, предложена от участниците. Изпълнението на тестове за всяка заявка за изтегляне намалява вероятността от въвеждане на регресии и други грешки във вашия код и гарантира по-висока степен на качество в кода, обединен към защитения клон. Ако се интересувате да научите повече за тестването, вижте тази „статия“ за интензивни курсове по основи на тестването на единици.

За да конфигурирате проверка на състоянието, която използва GitHub Actions за изпълнение на вашите тестове, създайте файл .github/workflows/ci.yml. Следната същност съдържа работен поток, който ще изпълнява тестове за приложение Node.js:

Ако не разработвате с Node.js, ще трябва да модифицирате ci.yml, за да работи с вашата платформа. Ето някои връзки, които описват как да стартирате тестове с GitHub Actions на други платформи: .NET, Python, Ruby, Swift и Java.

За да изисквате чист тест, преди заявка за изтегляне да може да бъде обединена, върнете се обратно към страницата Настройки на вашето репо. Щракнете върху квадратчето за отметка до Изискване за преминаване на проверки на състоянието преди сливане. Потърсете ci в полето за въвеждане Търсене на проверки на състоянието през последната седмица за това хранилище и щракнете върху резултата от търсенето, за да активирате проверката на състоянието:

хубаво! Ако отворите заявка за изтегляне, трябва да забележите, че бутонът за сливане няма да стане зелен, докато проверките на състоянието не приключат и заявката за изтегляне не бъде прегледана:

Want to Connect?
If you found the information in this tutorial useful please subscribe on Medium, follow me on GitHub, and/or subscribe to my YouTube channel.