2015-08-09 16 views
6

Nie można znaleźć żadnej dokumentacji ręcznego przemieszczania w Gitlab CI w wersji 8.9. Jak wykonać etap ręczny, na przykład "Wdróż test"?Jak utworzyć ręczne etapy w Gitlab CI?

Chciałbym, aby Gitlab CI wdrożył udane RPM w dev, a następnie po przejrzeniu go, przekaż do Testowania, a następnie wygeneruj wydanie. Czy jest to możliwe dzięki Gitlab CI?

Odpowiedz

3

Aktualizacja: Akcje ręczne zostały wprowadzone w GitLab 8.10. Z podręcznika "Czynności ręczne są specjalnym typem zadania, które nie jest wykonywane automatycznie, muszą być jawnie uruchomione przez użytkownika, a ręczne akcje można uruchamiać z widoków potoków, kompilacji, środowiska i rozmieszczania. działanie wiele razy. " Przykład zastosowania ręcznych działań to wdrożenie do produkcji. Reszta tej odpowiedzi dotyczy tylko Gitlab 8.9 i starszych.

historyczna Odpowiedź:

Nie wydaje się jakby instrukcja deploy/release był dostępny w Gitlab w 8,9.

Jedną z możliwości jest posiadanie chronionego odgałęzienia, które wyzwala zwolnienie. Zobacz informacje o chronionych oddziałach tutaj: http://doc.gitlab.com/ce/workflow/protected_branches.html

Zasadniczo chroniony oddział pozwoliłby Ci utworzyć oddział (testdeploybranch), do którego tylko ty mógłbyś scalić kod. Za każdym razem, gdy zatwierdzenie dla dev przejdzie testy Gitlab CI i rozmieści zadania, a także twoja ręczna weryfikacja, możesz połączyć to zatwierdzenie w chronionym oddziale, aby uruchomić wydanie. W przypadku tej gałęzi można następnie skonfigurować specjalne zadanie zwolnienia w Gitlab CI, używając opcji tylko w definicji zadania .gitlab-ci.yml. Czytaj więcej tutaj: http://doc.gitlab.com/ci/yaml/README.html

więc coś takiego:

release: 
    only: testdeploybranch 
    type: release 
    script: some command or script invocation to deploy to Test 

To może nie być dokładnie to, czego po, ale to nie pozwalają to zrobić ręcznie zwalnia od Gitlab. Nie zapewnia on łatwego ręcznego ręcznego wykonania tej samej procedury zwolnienia dla różnych serwerów. Być może ktoś inny mógłby rozwinąć tę strategię.

+1

Zamierzam pozwolić, by smak ten zaczął się gotować przez 48 godzin, ale prawdopodobnie stanie się zaakceptowaną odpowiedzią. To nie jest tak miłe jak kliknięcie przycisku w Bambusie. Ale popychanie do określonej gałęzi nie jest takie trudne. Gitlab-CI powinien dodać opcję wyzwalacza ręcznego do zadań kompilacji. – Routhinator

+1

Co do bitu dotyczącego wdrażania tego samego wydania na wielu serwerach, prawdopodobnie po prostu zdeponowałbym tę wersję na serwerze share/artifactory/archiva i uruchomiłbym tam wdrożenie lalek/saltstack. Inną opcją może być gałąź migawki i gałąź wydania. Przesyłanie do migawki generuje migawkę, która jest wdrażana w celu przetestowania, a następnie, jeśli przejdzie, nastąpi wypychanie do wydania, co planuje wdrożenie do działania. – Routhinator

+0

[Akcje manualne] [1] zostały wprowadzone w GitLab 8.10. [1]: http://docs.gitlab.com/ce/ci/yaml/README.html#manual-actions – aux