Narzędzia do wdrażania produkcji [zamknięte]

12

Podobnie jak w przypadku oprogramowania do budowy, należy używać narzędzi do wdrażania aktualizacji serwera produkcyjnego (niezależnie od tego, czy jest to DB, strona internetowa, konfiguracja routera itp.). Korzystanie z narzędzi zmniejsza niektóre rodzaje błędów ludzkich (na przykład pominięte kroki).

  • Jakie narzędzia są dostępne do wdrażania oprogramowania / konfiguracji / itp. (Darmowego lub komercyjnego)?

Proszę

  • Wymień pojedyncze narzędzie na post
  • Jaką część procesu wdrażania wykonuje
  • Szczególne zalety lub wady korzystania z tego narzędzia (tj. Tylko .NET, obsługuje wszystkie platformy LAMP / WAMP itp.)

Nie dodawaj narzędzia, które już istnieje - dodaj komentarze, jeśli masz coś konkretnego do powiedzenia na temat danej odpowiedzi.

-Adam

Adam Davis
źródło
To pytanie zostało zamknięte, ponieważ technicznie jest to „pytanie zakupowe” , jednak większość dostarczanych przez niego informacji jest nadal aktualna i stanowi doskonały punkt wyjścia do poszukiwania narzędzi do wdrażania i zarządzania konfiguracją.
voretaq7

Odpowiedzi:

10

Marionetka to niedawno napisane narzędzie napisane w języku Ruby, które zyskuje popularność przeciwko cfengine.

pjz
źródło
1
Ta „odpowiedź” nie odpowiada na pytanie, o które pytał pytający.
jtimberman
Jesteśmy bardzo zadowoleni z używania Puppet - pozwoliło nam to przeprowadzić cały proces przetwarzania obrazu do działającego systemu, który najbardziej wymaga narzędzi automatyzacji / wdrażania, w tym migracji naszych wcześniejszych ręcznych i niestandardowych metod wdrażania. Nie mogę tego wystarczająco polecić. Minusem jest to, że nie obsługuje (jeszcze) okien Windows, ale wszystkie warianty * nix są dobrze uwzględnione.
Mike Pountney
4

cfengine jest kanonicznym przykładem w świecie unixowym.

pjz
źródło
2
Jest również częścią narzędzia HP Systems Distributed Utility Utilities (DSAU) i jest wstępnie skonfigurowany do podstawowego użytkowania HP-UX.
Mei
4

Naprawdę lubię cfengine 3

Może zasadniczo zająć się każdą częścią procesu wdrażania, przy odpowiedniej konfiguracji: kopiować pliki z lokalizacji, automatycznie używać systemu pakowania (np. Apt, yum) w celu instalacji / aktualizacji pakietu, uruchamiania / zatrzymywania usług, sprawdzania plików / stron zawartość.

Używam go do instalowania (lub sprawdzania istnienia) pakietów, a ponieważ jestem bardziej facetem w Javie, kiedy w celu wdrożenia czegoś, pobieram archiwum z centralnego punktu, zatrzymuję usługę Tomcat, kopiuję archiwum do Tomcat katalogu, uruchom usługę i sprawdź, czy odpowiednią wartość można znaleźć na konkretnej obsługiwanej stronie. Tak, cfengine robi to prawie samo z siebie.

Zalety :

  • Działa (to ważna funkcja).
  • Występuje zarówno w systemie Linux / Unix, jak i Windows (macierzysty)
  • Małe zużycie zasobów

Niedogodności :

  • Na początku trochę trudne w użyciu, przykłady są nieco zbyt kompletne, ale samouczki pojawiają się wszędzie
Nicolas Charles
źródło
3

Mimo że jest to głównie narzędzie programistyczne, Capistrano jest również dobrym wyborem.

Nie jestem pewien, jak dobrze jest obsługiwany na platformach Windows innych niż wydaje się działać. Linux / OSX są w pełni obsługiwane.

Można go używać do wykonywania praktycznie dowolnych operacji na serwerach wdrażania, od aktualizacji plików po tworzenie kopii zapasowych baz danych i zarządzanie użytkownikami.

W połączeniu z repozytorium git zyskujesz zarządzanie zmianami oraz szybkie i łatwe wdrażanie.

Ivan
źródło
2

Narzędzie: Chef to nowe narzędzie wydane w styczniu przez Opscode . Jest napisany w Rubim, a jego językiem konfiguracyjnym jest czysty Ruby DSL. Jest to młode narzędzie w trakcie aktywnego rozwoju, ale wykorzystywane jest w produkcji przez kilka firm.

Szef kuchni może zarządzać całą infrastrukturą, od konfiguracji usług rozruchu i uruchamiania PXE, po wdrażanie aplikacji i zarządzanie użytkownikami. Jest bardzo elastyczny, rozszerzalny i wydajny.

Szczególne zalety to czysty Ruby DSL, RESTful API , przeszukiwalne dane węzłów oraz bogactwo gotowych książek kucharskich . Ze względu na Ruby DSL w przepisach można stosować złożone struktury danych i logikę, a wraz z RESTful API sprawiają, że Chef jest potężnym narzędziem do programowania infrastruktury.

jtimberman
źródło
1

W przypadku migracji MS SQL Server sp_help_revlogin jest nieoceniony w przypadku migracji użytkowników w celu przeniesienia użytkowników / SID / pwds do nowej skrzynki.

squillman
źródło
1

W systemie Windows: SCCM

duffbeer703
źródło
1

Korzystamy z pakietu narzędzi Shavlik do obsługi poprawek, konfiguracji i inspekcji.

Nie mogę wymyślić żadnych konkretnych zalet ani wad - działa dość dobrze i nie mieliśmy z tym żadnych prawdziwych problemów, które pamiętam. (To najlepsze, co mogę o tym powiedzieć - działa na tyle dobrze, że nie muszę o tym myśleć :)

gharper
źródło
1

Chciałbym dać dużą +1 zarówno Capistrano, jak i Szefowi Kuchni. Oba są bardzo dobre w pisaniu określonych zadań związanych z wdrażaniem i zarządzaniem przez ssh. Ciekawa jest też kukiełka, ale stare powiedzenie zwykle zawiera prawdziwe „Jack of all trade, master of none”. Najlepszym rozwiązaniem byłoby znalezienie najbardziej minimalnego narzędzia do zadań, które chcesz wykonać i z nim korzystać.

MattyB
źródło