Tak więc już od dawna borykam się z wykorzystaniem narzędzia do zarządzania wdrożeniami/konfiguracją, takiego jak Chef lub Puppet. Nie dlatego, że w ogóle się o nich waham, ale dlatego, że nie sądzę, żeby pasowały do naszego konkretnego scenariusza.Narzędzie do rozmieszczania/kompilacji między Antem i szefem kuchni
O ile widzę, tego typu narzędzia są przeznaczone do częstych/szeroko zakrojonych wdrożeń, gdzie trzeba wdrożyć oprogramowanie do 10s-1000 systemów. W naszym środowisku mamy kolekcję ~ 25 różnych usług internetowych rozłożonych na sześć razy, z których każde zajmuje obecnie 1-8 wdrożeń. Nasz duży problem związany z wdrożeniem polega na tym, że każda z usług ma inną historię wdrażania i jest całkowicie ręczna, więc zwykle jest czasochłonna i podatna na błędy. Inną wadą jest to, że różne instancje w produkcji mogą być różnymi wersjami oprogramowania, więc możemy potrzebować jednocześnie obsługiwać wiele historii wdrożeń dla pojedynczej usługi.
Czuję, że potrzebujemy czegoś bardziej podobnego do Ant/Maven/Rake, który jest dostosowywany do każdej usługi. Jednak moje doświadczenia z nimi są ogólnie ukierunkowane na operacje lokalne i są specyficzne dla danego języka/środowiska wykonawczego.
Czy istnieje struktura agnostyczna środowiska wykonawczego do opisu i sterowania budynkiem/testowaniem/wdrażaniem w sposób, jaki mnie interesuje?
Jestem pewien, że jeśli uderzę wystarczająco długo, mogę uzyskać Rake lub Puppet, aby zrobić to dla mnie, ale szukam czegoś zbudowanego do tego celu.
(Oh, a co gorsza, wszystko działa w systemie Windows)
Dzięki!
Dzięki Mac, na pewno spojrzy! –