Один мій колега сказав мені , що він думає , в створенні нашого CI сервер , щоб повернутися фіксацій , які не будувати, так що HEAD
в master
завжди стійко (як при проходженні збірки по крайней мере).
Це найкраща практика чи це може бути більш проблематично, ніж просто залишити master
зламаним, поки розробник не виправить це?
Я думаю, що повернення комісії зробить більш складним завдання зчитування фіксації та виправлення (розробнику доведеться повернути реверт, а потім здійснити виправлення, що також перешкодить git log
), і ми повинні просто залишити команду та потім здійснити виправити. Хоча я бачу деякі переваги в master
стабільності, але це повернення провальних комісій не переконує мене.
редагувати: Не має значення, чи це master
будь-яка інша галузь розвитку, але питання залишається таким же: чи система CI скасувати комісію, яка не вдалася зібрати?
інша (довга) редакція: Гаразд, ми використовуємо git
дивним чином. Ми вважаємо, що концепція гілок суперечить справжній CI, тому що прихильність до філії ізолює вас від інших розробників та їх змін та додає часу, коли вам доведеться реінтегрувати свою філію та вирішувати можливі конфлікти. Якщо всі master
беруть на себе цей конфлікт, зводиться до мінімуму і кожне вчинення проходить усі тести.
Звичайно, це змушує вас натискати тільки стабільний (або ви порушуєте збірку) і програмувати більш ретельно, щоб не порушувати зворотну сумісність або робити переключення функцій при впровадженні нових функцій.
Існують компроміси, коли Ви робите CI тим чи іншим способом, але це поза сферою питання (див. Відповідне питання для цього). Якщо ви віддаєте перевагу, я можу переробити питання: невелика команда розробників працює разом у спеціалізованій галузі. Якщо один розробник здійснює щось, що порушує збірку для цієї гілки, чи повинна система CI скасувати виконання чи ні?
master
до цього. Ось для чого використовуються галузі розвитку та функцій. Ці зміни переходять у щось на кшталт гілки інтеграції, де ви можете перевірити, чи всі нові функції декількох розробників працюватимуть разом, і лише якщо це перевірено, можна перейти до майстра. Або, принаймні, це один із можливих робочих процесів.