Szukam „najlepszych praktyk” dotyczących ról i obowiązków, a konkretnie tego, kto jest odpowiedzialny za fuzje z gałęzi rozwoju do pnia (lub głównego). Zasadniczo szukam amunicji, która pomogłaby mojej sprawie.
Pozwól mi opisać, z czym mam do czynienia. Jestem głównym programistą (właścicielem) konkretnej aplikacji. Nasza firma niedawno przeniosła się z VSS (gdzie byłem administratorem bazy danych VSS, w której moja aplikacja była przechowywana) na TFS (gdzie mam uprawnienia tylko do gałęzi programistycznych utworzonych przez nasz zespół „operacyjny”). W poprzednich pracach byłem administratorem TFS, więc znam się na TFS i MSBuild.
Nie mam problemu ze stosowaną strategią rozgałęziania i scalania (gałąź główna, gałęzie rozwoju błędów / projektów tworzone w razie potrzeby, scalane z powrotem do głównej, a następnie awansowane do gałęzi wydania). Mam problemy:
Nie mogę tworzyć własnych oddziałów. Muszę utworzyć zadanie TFS, aby członek zespołu ds. Operacji utworzył dla mnie gałąź.
Nie mogę połączyć się z Main z moim działem rozwoju. Muszę utworzyć zadanie TFS, aby członek zespołu ds. Operacji wykonał scalenie, a następnie mam nadzieję, że nie „nadepnie” na żadną z moich zmian w zespole, ponieważ „facet operacyjny” może, ale nie musi, być programistą znajomość kodu, który on scala, jest niewielka lub żadna.
Nie mogę połączyć się z rozwojem do Main. Ponownie muszę utworzyć zadanie TFS, aby „facet operacyjny” wykonał scalenie, mając nadzieję, że zrobi to poprawnie. Następnie muszę utworzyć kolejne zadanie TFS, aby ponownie połączyć się z moim oddziałem, aby móc rozwiązać wszelkie problemy, które wystąpiły, poprzez połączenie nie-programistów z Main.
Nie mogę tworzyć ani edytować skryptów MSBuild. Znowu muszę współpracować z zespołem „ops”, który jest nowy w MSBuild, więc można wykonywać tylko najbardziej podstawowe zadania kompilacji. (Zapomnij o czymkolwiek złożonym lub zabraniaj niebu niestandardowego zadania).
Nie mogę wykonać skryptu MSBuild. Ponownie tylko zespół „ops” może to zrobić.
Podsumowując, zazwyczaj jest to zasób typu „off-shore”, który wykonuje wymagane zadania, więc nawet jeśli utworzę zadanie do (rozgałęzienia / scalenia / kompilacji) wczesnym rankiem, prawdopodobnie nie zostanie ono ukończone do tego wieczoru.
Teraz nie mam problemu z zespołem „operacyjnym” utrzymującym gałęzie wydania. Wszystko, co robią, to (zasadniczo) pobieranie najnowszej wersji z Main i promowanie jej w gałęzi wydania; więc dopóki „Main” będzie stabilny i gotowy, gałąź wydania będzie dobra.
Uważam, że potencjalni klienci techniczni (tacy jak ja) powinni być odpowiedzialni za utrzymanie łącza („Main”) i wszelkie połączenia do / z gałęzi programistycznych. Kierownik zespołu powinien również mieć możliwość generowania skryptów MS Build do budowania i wdrażania w środowisku testowym integracji.
Czy ktoś może skierować mnie do dokumentu najlepszych praktyk, który pomoże mi udowodnić moją sprawę? Wszystkie moje poszukiwania ujawniły tylko najlepsze praktyki dotyczące technik rozgałęziania i łączenia, i żadna wzmianka o WHO nie powinna wykonywać wspomnianego rozgałęziania / łączenia.
WHO should be performing said branching/merging.
to wewnętrzna decyzja organizacyjna. Naprawdę nie jest to coś, w czym moglibyśmy ci pomóc ...