Jak wygląda proces tworzenia wersji testowej i produkcyjnej

0

Jak wyglada proces tworzenia wersji testowej oraz produkcyjnej ?
Tworzone jest repozytorium i 2 gałęzie main(prod), development(testowa) i potem normalnie deploy na kazdy branch jest robiony osobno? Ktoś moglby mi opisać taki proces?

3

To wszystko zależy od specyfiki projektu. Niektórzy wdrażają jakieś procesy typu git flow a inni robią to po swojemu. Ogólnie master/main to jest to co jest na pord, na test masz z jakiegoś brancha "release candidate". Poza prod i test sa jeszcze środowiska jak Stage - gdzie ląduje wersja z głównej gałęzi przed wdrożeniem na produkcję.

2

Piszesz kod na swoim branchu, robisz PR, jak koledzy zaakceptują to mergujesz do master, i aplikacja jest kompilowana i potem wdrażana na CI (gdzie odpalane są testy integracyjne), potem test i w końcu na proda. Czasami są też inne środowiska np. na testy wydajnościowe albo aby klienci mieli dostęp i mogli sobie testować.

3
somekind napisał(a):

Piszesz kod na swoim branchu, robisz PR, jak koledzy zaakceptują to mergujesz do master, i aplikacja jest kompilowana i potem wdrażana na CI (gdzie odpalane są testy integracyjne), potem test i w końcu na proda. Czasami są też inne środowiska np. na testy wydajnościowe albo aby klienci mieli dostęp i mogli sobie testować.

No ale jak zrobisz merge do matsera to jak będziesz robił hotfixy ? Proces testów i akceptacji może być długi i może być konieczne wdrożenie hotfixa w tym czasie.

0

Aby CI/CD się wykonał, konfigurację muszę napisać w projekcie pod odpowiednimi nazwami plikow i wtedy ta konfiguracja odpala się automatycznie w momencie gdy zrobie push na repo zdalne? Wykonuje to programista? Czy moze zrobic to devops w repozytorium ?

1

Pewnie zależy, jakiego CI/CD używasz i jakiego hooka zapniesz.

0
S4t napisał(a):

No ale jak zrobisz merge do matsera to jak będziesz robił hotfixy ?

Dokładnie w ten sam sposób: branch -> PR -> merge -> deploy

Proces testów i akceptacji może być długi i może być konieczne wdrożenie hotfixa w tym czasie.

Być może.
Za to u mnie jest 2022 rok, mam CD i tyle wdrożeń na produkcję dziennie ile trzeba.

dcielak napisał(a):

Aby CI/CD się wykonał, konfigurację muszę napisać w projekcie pod odpowiednimi nazwami plikow i wtedy ta konfiguracja odpala się automatycznie w momencie gdy zrobie push na repo zdalne? Wykonuje to programista? Czy moze zrobic to devops w repozytorium ?

Tak, można mieć konfigurację w pliku, np. takim jak tutaj: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net#using-the-net-starter-workflow
Taki plik może zrobić programista.
Devops tego nie może zrobić, bo to nie jest osoba.

0

Trochę nie rozumiem tego problemu. Jeżeli masz różne brancze dla wersji testowej i produkcyjnej, to co właściwie testujesz, bo na moje, nie to co leci na produkcję. Według mnie, można to zrobić tak:
Jakiś tam trunk/master/main, każdy commit do głównej gałęzi tworzy artefakt.
Na etapie deploymentu ustawiasz parametry powodujące, że ten sam artefakt będzie działać jako wersja testowa/produkcyjna

1 użytkowników online, w tym zalogowanych: 0, gości: 1