Шлях 07Урок 5 / 8

Выберыце, дзе Taiga чакае рашэння

Аддзяляйце ўхваленне плана, выкананне рэалізацыі, дазвол на merge і разгортванне. Наладжвайце аўтаномнасць паводле рашэнняў, якія арганізацыя павінна пакінуць за сабой.

Практыка11 хвПраверана

Выдавец Як мы пішам

Праверце сваё разуменнеАрганізацыя дазваляе аўтаномны merge, але фабрыка яго выключае. Ці можа прадукт гэтай фабрыкі яго ўключыць?Выканайце практыкаванне
Арганізацыя дазваляе аўтаномны merge, але фабрыка яго выключае. Ці можа прадукт гэтай фабрыкі яго ўключыць?

Чаму вы навучыцеся

  • Адрозніваць аўтаматычную рэалізацыю ад аўтаномнага merge.
  • Тлумачыць верхнія межы дазволу на merge, налады прадукту па змаўчанні і перавызначэнні ініцыятыў.
  • Правяраць правілы галін і наступствы разгортвання перад уключэннем аўтаматызацыі.

Аддзяляйце чатыры рашэнні

Выдуманы сэрвіс абсталявання мае чатыры розныя рашэнні: прыняць план, выканаць рэалізацыю, змерджыць змену і разгарнуць яе. Не разглядайце адзін пераключальнік як дазвол на ўсе чатыры.

Перад змяненнем аўтаномнасці праверце, што робіць канвеер рэпазіторыя пасля merge. Калі merge ў рабочую галіну запускае разгортванне, аўтаматычны merge таксама можа запусціць гэты наяўны працоўны працэс.

Вырашыце, ці павінен план чакаць

Налада прадукту Build on its own by default вызначае, ці пераходзіць завершаны план да рэалізацыі або чакае ўхвалення. Выключыце яе, калі планы спачатку патрабуюць рашэння чалавека.

Налада ініцыятывы Build on its own можа змяніць гэтыя паводзіны для асобнай ініцыятывы. Перад пастаноўкай працы ў чаргу праверце і значэнне па змаўчанні, і асобны выбар.

Approve запускае рэалізацыю ад імя чалавека, які ўхваляе план, з улікам яго бягучых дазволаў. Няўдалае планаванне не запускае рэалізацыю. Аўтаматызацыя рэалізацыі сама па сабе не дазваляе merge атрыманага pull request.

Зразумейце іерархію merge

Аўтаномны merge кіруецца асобна і выключаны, пакуль яго не ўключаць. Задакументаваная інтэграцыя падтрымлівае GitHub, уключаючы GitHub Enterprise.

УзровеньЗначэнне
АрганізацыяВерхняя мяжа дазволу на аўтаномны merge
ФабрыкаВерхняя мяжа для ўсяго пад гэтай фабрыкай
ПрадуктЗначэнне па змаўчанні для ініцыятыў без асобнага выбару
ІніцыятываУласны выбар Merge on its own у дазволеных межах

Забарону на ўзроўні арганізацыі або фабрыкі нельга перавызначыць ніжэй. Выключанае значэнне прадукту па змаўчанні мае іншы сэнс: ініцыятыва можа ўключыць уласны merge, калі верхнія межы гэта дазваляюць.

Для сэрвісу абсталявання захоўвайце пачатковы абсяг яўным. Адна ініцыятыва з невялікімі наступствамі можа мець іншы выбар, чым змена мер кантролю доступу супрацоўнікаў, у межах дазволенага.

Забяспечце выкананне абавязковых праверак

Taiga запытвае ў пастаўшчыка сістэмы кантролю версій, ці можна змерджыць pull request. Абарона вашай галіны вызначае абавязковыя праверкі, рэцэнзіі і іншыя ўмовы. Аўтаномны merge не абыходзіць гэтыя правілы.

Калі аўтаматычная рэцэнзія павінна блакаваць merge, зрабіце яе вынік абавязковай праверкай стану праз падтрымоўваную канфігурацыю рэпазіторыя. Рэкамендацыйны вынік не становіцца абавязковым толькі таму, што вы гэтага чакаеце.

Праверце таксама абавязковыя ўхваленні людзей. Паспяховая праверка не замяняе ўхваленне, якога патрабуе ваша палітыка. Пацвердзіце правілы на фактычнай мэтавай галіне.

Вытлумачце спынены merge

Прачытайце прычыну ў ініцыятыве. Незавершаная праверка, адсутнае ўхваленне, канфлікт і няпоўны план патрабуюць розных дзеянняў. Taiga таксама спыняе аўтаномны merge, калі выпраўленні змяняюць крытэрыі, дзякуючы чаму раней няўдалыя праверкі становяцца паспяховымі. Праверце такую змену непасрэдна.

Не прыбірайце абавязковую праверку толькі таму, што яна блакуе прагрэс. Калі праверка ніколі не паведамляе вынік, выпраўце яе канфігурацыю або выкарыстайце ўпаўнаважаны працэс змены палітыкі. Пасля кожнага выпраўлення правярайце бягучы commit.

Захоўвайце асобны дазвол на разгортванне

Taiga GitHub App выконвае аўтаномны merge і запісваецца як яго выканаўца. Канвеер рэпазіторыя захоўвае наяўныя паводзіны разгортвання.

У гэтым сцэнарыі merge разгортвае змену ў staging. Production па-ранейшаму патрабуе рашэння арганізацыі аб production і адпаведных доказаў. Пацвердзіце, што канвеер забяспечвае гэтае раздзяленне. Працягвайце з праверкай пастаўкі.

Выканайце практыкаванне

Выдуманы сэрвіс абсталявання патрабуе праверкі планаў і pull request чалавекам. Яго галіна main разгортваецца ў staging. Запішыце наладу рэалізацыі, абавязковыя правілы галіны, наладу merge і асобнае ўхваленне production, патрэбнае для такой схемы.

Спампаваць працоўны ліст (Markdown)
Праверце сваё разуменне ↑

Працягнуць навучанне

Крыніцы і дадатковыя матэрыялы

Звязаныя матэрыялы Taiga

Папярэдні ўрок: Ператварыце вынік у ініцыятыву