Chcemy skonfigurować usługę ciągłej integracji (CI) dla naszego projektu. Ta usługa CI powinna kontrolować wszystkie aspekty życia projektu, w tym wdrożenie.
Oznacza to, że chcemy, aby agent CI przy każdej iteracji pobierał czysty system (szczególnie Ubuntu Server), wdrażał tam nasz projekt i przeprowadzał testy.
Prawdopodobnie sami piszemy usługę CI od zera, ponieważ nasz ekosystem jest raczej niezwykły. Pytanie brzmi: jak skutecznie zapewnić czysty system łupków dla każdej iteracji CI?
Wdrożenie projektu zainstaluj kilka pakietów Debiana, konfiguruje kilka stron nginx, a także instaluje niektóre pakiety w menedżerze pakietów specyficznych dla języka implementacji (LuaRocks), w całym systemie. Nic bardziej nachalnego (jak sądzę). Dlatego ważniejsze jest, aby móc szybko ustawić czyste konto (w ciągu minuty na nowoczesnym sprzęcie, szybciej - lepiej) niż zapewnić absolutną izolację i czystość.
Widzę dwa sposoby, jak zrobić to, czego potrzebujemy:
- Albo załóż jakieś więzienie (na przykład lxc).
- Lub zainstaluj maszynę wirtualną, która może wykonywać migawki i używać ich.
Ale w tym momencie nie mam wystarczających informacji do podjęcia decyzji.
Co byś doradził Jakieś inne opcje? Jakieś konkretne nazwy narzędzi?
Uwaga: usługa CI byłaby uruchomiona w gościu Citrix XenServer. Płatne rozwiązania są OK, jeśli ceny są rozsądne. (Zwykle nie są rozsądne w tej dziedzinie.) Zdalne rozwiązania CI nie są w porządku.