2012-04-19 15 views
5

Po pierwsze, powinienem ujawnić, że tylko zarządzam relacjami z dostawcami i brak mi głębokiej wiedzy technicznej.W jaki sposób jenkins, Github i Puppet wchodzą w interakcje

Właśnie odbyłem konferencję telefoniczną z jednym z naszych podwykonawców, który poprosił mnie o podpisanie kontraktu na 4 różne serwery (jeden dla Jenkinsa dla Githuba, trzeci dla marionetki i czwarty jako pole testowe).

Architekt techniczny wydaje się dość defensywny, gdy zadaję mu pytania. Wiem, że nie jest to moja praca, aby kwestionować jego umiejętności, ale mam budżet, który można zarządzać, i obawiam się, że nadużyli tego (lub przynajmniej 3 produkty, o których wspomnieli, wydają się pokrywać wiele). Czy ktoś byłby tak uprzejmy, aby jasno wytłumaczyć mi rolę, jaką odgrywa każdy z nich.

Byłbym też wdzięczny za drugą opinię, czy naprawdę potrzebują 4 serwerów i czy niektóre z wymienionych technologii mogłyby współistnieć na tych samych serwerach. (tzn. czy Jenkins, Github i Puppet mogą mieszkać na jednym serwerze Ubuntu?).

+0

Te trzy narzędzia w ogóle się nie nakładają; GitHub jest usługą hostowaną, więc nie potrzebujesz serwera (chyba że dostajesz wersję korporacyjną). Te narzędzia mogą współistnieć na jednym serwerze, ale jeśli używasz Jenkinsa do kompilacji, możesz chcieć więcej serwerów. Podobnie, jeśli używasz Puppet, prawdopodobnie będziesz dostawał więcej serwerów, aby Lalki mogły nimi zarządzać. –

Odpowiedz

2

4 narzędzia nie zachodzą na siebie. Łączą się ze sobą i uzupełniają.

GIT jest narzędziem kontroli źródła. Przechowujesz tam całą historię programowania. To jest dev blackbox. Jenkins to narzędzie do ciągłej integracji. Wykorzysta GIT, aby uzyskać najnowszą wersję kodu (lub wersję testową lub wersję przedprodukcyjną), aby przetestować go zgodnie z zdefiniowanymi wzorcami testowymi. Pajacyk wydaje się być przybornikiem administracyjnym serwera.

Szczerze, to zależy od Twojego projektu. Jeśli jest to ogromna aplikacja, która wymaga ciężkich cykli budowy, wówczas jenkins będzie korzystniejszy na swoim własnym serwerze, aby ludzie mogli nadal normalnie pracować z innymi usługami. Wierzę, że Jenkins/Puppet może być na tym samym serwerze. Lub tak może być Pupper i GIT (git jest bardzo niskim zasobem).

Pole testowe brzmi dobrze. Ale myślę, że pole GIT może również służyć jako testbox.

Myślę, że można zmniejszyć zapotrzebowanie na serwer o 2. Ale znowu zależy to od wielkości projektu. Jeśli jest to duży projekt, graj uczciwie i pozwól im to zrobić. Nawet jeśli podział serwera jest trochę dziwny, może być konieczne. Ale szczerze mówiąc, tak naprawdę tego nie potrzebujesz.

Powiązane problemy