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ę.
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
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
[Akcje manualne] [1] zostały wprowadzone w GitLab 8.10. [1]: http://docs.gitlab.com/ce/ci/yaml/README.html#manual-actions – aux