2008-10-14 15 views
7

Początkowe pytanie, znoś się ze mną: Zastanawiam się, w jakich okolicznościach należy użyć narzędzia do budowania takiego jak nant czy msbuild? Pracuję nad aplikacją średniej wielkości (.net 3.0), każdy programista wykonuje swoją pracę i buduje na swoim komputerze, sprawdzając zmiany w swoim kodzie w repozytorium. Gdy skończymy, otrzymam cały kod z repozytorium, zrobię czystą kompilację na moim komputerze i wdrożyliśmy pliki binarne. Właśnie z ciekawości, skąd pochodzi narzędzie do budowania?Kiedy użyć narzędzia do budowania?

Odpowiedz

14

Krótka odpowiedź jest zawsze.

Każdy programista powinien budować przy użyciu skryptu kompilacji przed sprawdzeniem kodu. Osoby budujące wersję powinny używać skryptu kompilacji do zbudowania wydania. Twoi buildbots powinni używać skryptu budowania, aby zbudować i przetestować kod, który został sprawdzony.

Dzięki temu wszyscy programiści, testerzy i buildboty mogą mieć spójną, powtarzalną kompilację. W końcu, The F5 Key Is Not a Build Process.

+0

Czy to nie jest zbyt trudne? Czy to naprawdę warto? spędzić 20 minut na skrypcie budowy dla 2-dniowego projektu eksploracji jednego człowieka, który po zakończeniu zostanie zarchiwizowany i nigdy więcej nie będzie dostępny? – ddimitrov

+1

@ddimitrov: tak, warto. Zakładałem 99% czasu, że "2-dniowa eksploracja" stanie się kluczowym fragmentem kodu produkcyjnego (prawdopodobnie wewnętrzne narzędzie, a nie produkt, ale wciąż ważne). – rmeador

+0

Łącze kodowania jest zepsute, a teraz przekierowuje na stronę główną witryny. Artykuł wymieniony można znaleźć na https://blog.codinghorror.com/the-f5-key-is-not-a-build-process/ –

0

Jeśli chcesz zautomatyzować wszystko, dobrze jest użyć nant/msbuild. Na przykład: 1. sprawdź 2. zbuduj 3. test i pokrycie kodu

0

Czy programujesz w Visual Studio? W takim przypadku już używasz msbuild, ponieważ jest to podstawowy silnik budujący Visual Studio. W rzeczywistości plik projektu Visual Studio to nic innego jak skrypt msbuild.

Oprócz tego można użyć silnika kompilacji w dedykowanym systemie kompilacji, aby pliki binarne można było budować bez nadzoru i bez zainstalowanego Visual Studio. Możesz też użyć tego do testowania jednostek.

2

Myślę, że każda nietrywialna aplikacja wymaga "narzędzia do kompilacji". Używamy terminu Ciągła integracja, w której pracuję. Są bardzo wyjątkowe przypadki (np .: buduję przykładową aplikację, aby dowiedzieć się, jak działa funkcja X), ale poza tym nigdy nie będziesz żałować posiadania solidnego procesu kompilacji.

myślę, że jeśli zespół programistów składa się z jednej osoby ... Ja bym nadal stworzenia systemu gromadzenia tym repozytorium, narzędzie budynku, a wielu apartamentów testów. Tak, utrzymanie systemu kompilacji kosztuje czas i pieniądze, ale to się opłaci (pracowałem już od 40 miesięcy nad projektem, który rozpoczął się od 6 programistów i teraz obejmuje około 30 programistów, który opłacił nam wiele razy) pod względem kontroli jakości, a wcześniej wykryte problemy z jakością, oszustwa, które mają naprawić.

+0

Ciągła integracja (coś, co obecnie pomagam wdrożyć w mojej obecnej pracy) jest nieco inna niż posiadanie narzędzia do kompilacji, chociaż nie da się tego zrobić bez automatycznej kompilacji :) – workmad3

4

Narzędzie do budowania powinno być używane, gdy proces budowania staje się dłuższy niż jedno polecenie. Powinien zostać użyty do przywrócenia standardowego procesu kompilacji do jednego polecenia. Jeśli twój proces kompilacji jest dłuższy niż jedno polecenie, masz możliwość wystąpienia błędów podczas pełzania z nieodebranych/zduplikowanych/niepoprawnych poleceń wykonywanych podczas kompilacji.

0

Zgadzanie się i rozszerzanie odpowiedzi zacherates ... Tak, zawsze powinieneś mieć powtarzalny proces kompilacji. Podczas gdy technicznie projekty Visual Studio są plikami MSBuild, lepiej, aby "oficjalny" proces budowania był oddzielony od środowiska programistycznego.

Moim zdaniem jest to prawdą bez względu na to, jak duży (lub mały) jest zespół. Używam NAnt i CruiseControl.NET w domu, gdzie wszystko, nad czym pracuję, to projekty i eksperymenty. W pracy używamy podobnej konfiguracji, ale nieco bardziej uporządkowanej, w jaki sposób sklejają się skrypty NAnt.

Zdecydowanie warto poświęcić na to uwagę.To nie jest lekarstwo, ale najlepszą praktyką jest wiedzieć, która dokładnie wersja została wydana, kiedy i co jest w dziczy. Możliwość zidentyfikowania skompilowanego kodu to połowa sukcesu w rozwiązywaniu problemów! :)

6

Wygląda na to, że używasz IDE do wykonania kompilacji. Zasadniczo jest to narzędzie do budowania; już go używasz. Przełączaj narzędzia, gdy ten, z którego korzystasz, staje się większym problemem niż rozwiązaniem.

2

Po rozpoczęciu wydań lub gdy kompilacja przekracza pewną liczbę ręcznych kroków (zauważysz, kiedy zaczyna się irytować.) Napisałem stary blog entry na ten temat, który może Cię zainteresować.

Powiązane problemy