Mój zespół stworzył wiele książek kucharskich. Zastanawiałem się, jakie metody i struktury powinienem sprawdzić, abyśmy mogli zacząć tworzyć testy, aby upewnić się, że nasze węzły są poprawnie skonfigurowane?
Mój zespół stworzył wiele książek kucharskich. Zastanawiałem się, jakie metody i struktury powinienem sprawdzić, abyśmy mogli zacząć tworzyć testy, aby upewnić się, że nasze węzły są poprawnie skonfigurowane?
Odpowiedzi:
Jest cucumber-chef
rubinowy klejnot i niedawno wydana książka Nelson-Smith i in. - „Test-Driven Infrastructure with Chef”, która korzysta z tego klejnotu - http://www.cucumber-chef.org/
Właśnie to zapamiętałem z mojej listy obserwacyjnej github: https://github.com/gregretkowski/vmth/
VMTH (Virtual Machine Test Harness) zapewnia mechanizm do testowania jednostkowego automatyzacji infrastruktury - zasady marionetek, przepisy kulinarne, skrypty wdrażania wydań itp. Wykorzystuje funkcje nowoczesnych monitorów VM (takich jak qemu) do wykonywania migawek stanu systemu, a następnie resetowania stan ten po każdym teście, dzięki czemu można szybko wykonać serię testów na instancji maszyny wirtualnej
Istnieje wiele opcji.
Opscode ma w planach rozwoju Chef obsługę „no-op”, która pomoże w testowaniu. Mamy twierdzą, że „no-op” nie musi robić to, co chcesz, ale zrozumieć pragnienie funkcji.
Niektóre odpowiedzi tutaj wydają się nieco stare. W przypadku testów CI i testów lokalnych chciałbym wykorzystać narzędzie do testowania uprzęży, takie jak Test Kitchen, które obsługuje również Vagrant, jeśli już go używasz.
Umożliwi ci uruchamianie swoich koobkoków w stosunku do wielu dostępnych obecnie rozwiązań chmurowych i wirtualizacyjnych: EC2, Digital Ocean, Vagrant, Docker itp.
Posiada również wtyczki, które pozwalają na uruchomienie jednego z wielu narzędzi testowania infrastruktury, które istnieją obecnie:
Z mojego doświadczenia wynika, że jedynym sposobem, aby to naprawdę zrobić, jest środowisko przejściowe i ostrożne praktyki programistyczne. Wyśmiewanie faktycznej pracy, którą należy wykonać, jest niezwykle nieuporządkowane i kruche, a zestawy testowe CI działające przy zatwierdzaniu lub wypychaniu wymagają dużo wysiłku, aby pisać i utrzymywać (chociaż szef kuchni jest prawdopodobnie o wiele lepszy od Puppet, co jest moim głównym doświadczeniem ) i poświęcić absurdalnie dużo czasu na bieganie.
EDYTOWAĆ
Zaraz po tym, jak to napisałem, nagle zdałem sobie sprawę, że może istnieć sposób na racjonalnie skuteczne „testowanie jednostkowe” przepisów Chef / Puppet z systemem plików Unii i znaczną ilością rusztowań. Nie mogę jednak znaleźć niczego, co ktoś zrobiłby już w tej dziedzinie. Mógłbym właśnie znaleźć projekt.