Continuous Deployment vs Continuous Integration
Continuous Deployment, to praktyka inżynierii oprogramowania, w której zmiany kodu są automatycznie wypuszczane do środowiska produkcyjnego poprzez serię automatycznych testów.
| Continuous Deployment | Continuous Integration | |
|---|---|---|
| Definition | Continuous Deployment, to praktyka automatycznego wdrażania zmian kodu do środowiska produkcyjnego po ich zatwierdzeniu w procesie testowania i kontroli. | Continuous Integration (CI) to praktyka rozwoju oprogramowania, w której programiści regularnie scalają swoje zmiany kodu do centralnego repozytorium, a następnie przeprowadzane są automatyczne kompilacje i testy. Jest to podstawowa praktyka filozofii DevOps. |
| Categories | CD, DevOps, automation, software development | ALM, CI, DevOps, automation, development, quality |
Co to jest CD?
Continuous Deployment, to praktyka inżynierii oprogramowania, w której zmiany kodu są automatycznie wypuszczane do środowiska produkcyjnego poprzez serię automatycznych testów.
Definicja
Continuous Deployment, to praktyka automatycznego wdrażania zmian kodu do środowiska produkcyjnego po ich zatwierdzeniu w procesie testowania i kontroli.
Proces
Nowe zmiany kodu przechodzą przez łańcuch testów i inspekcji, a po ich zatwierdzeniu są bezpośrednio wdrażane do środowiska produkcyjnego.
Korzyści
Continuous Deployment przyspiesza dostarczanie oprogramowania, skraca czas wprowadzania nowych funkcji na rynek oraz umożliwia szybsze cykle zwrotu informacji.
Korekta
Częste wdrażanie ułatwia znajdowanie i naprawianie błędów, ponieważ błędy są świeższe i łatwiejsze do śledzenia.
Co oznacza CI?
Oznacza Continuous Integration.
Definicja
Continuous Integration (CI) to praktyka rozwoju oprogramowania, w której programiści regularnie scalają swoje zmiany kodu do centralnego repozytorium, a następnie przeprowadzane są automatyczne kompilacje i testy. Jest to podstawowa praktyka filozofii DevOps.
Automatyzacja
CI obejmuje zarówno składnik kulturowy, promujący częstą integrację, jak i składnik automatyzacji. Zmiany kodu wyzwalają automatyczne procesy budowania w celu stworzenia wykonywalnego oprogramowania.
Cele
Głównymi celami CI są szybkie znajdowanie i naprawianie błędów, poprawa jakości oprogramowania oraz skrócenie czasu potrzebnego na walidację i wydanie nowych aktualizacji oprogramowania.
Pewność
Częsta integracja generuje pewność, że baza kodu jest zawsze w funkcjonalnym stanie.
Pokrycie testów
CI powinno obejmować kompleksowy zestaw automatycznych testów, które pokrywają różne aspekty oprogramowania i zapewniają jego poziom QA.