Aggiornamento: azioni manuali sono state introdotte in GitLab 8.10. Dal manuale "Le azioni manuali sono un tipo speciale di lavoro che non viene eseguito automaticamente, ma devono essere avviati esplicitamente da un utente.Le azioni manuali possono essere avviate da pipeline, build, ambiente e viste di implementazione.È possibile eseguire lo stesso manuale azione più volte. " Un esempio di utilizzo delle azioni manuali è la distribuzione in produzione. Il resto di questa risposta si applica solo a Gitlab 8.9 e precedenti.
risposta storica:
Non sembra come se il manuale deploy/rilascio era disponibile in Gitlab in 8.9.
Una possibilità è avere un ramo protetto che attiva un rilascio. Vedere le informazioni sui rami protetti qui: http://doc.gitlab.com/ce/workflow/protected_branches.html
In sostanza, un ramo protetto consente di creare un ramo (testdeploybranch) a cui solo si sarebbe consentito di unire il codice. Ogni volta che un commit to dev supera i test del Gitlab CI e distribuisce i lavori, oltre alla revisione manuale, è possibile unire il commit nel ramo protetto per attivare il rilascio. Per questo ramo è quindi possibile impostare un lavoro di rilascio speciale in Gitlab CI utilizzando l'opzione solo nella definizione del lavoro .gitlab-ci.yml. Per saperne di più qui: http://doc.gitlab.com/ci/yaml/README.html
Quindi qualcosa di simile:
release:
only: testdeploybranch
type: release
script: some command or script invocation to deploy to Test
Questo potrebbe non essere esattamente quello che stai dopo, ma lo fa ti permettono di fare versioni manuali da Gitlab. Non fornisce un modo semplice per eseguire manualmente la stessa procedura di rilascio manualmente per server diversi. Forse qualcun altro potrebbe essere in grado di espandere questa strategia.
Farò sobbollire l'aroma su questo per 48 ore, tuttavia è probabile che diventi la risposta accettata. Non è bello come fare clic su un pulsante in Bamboo ... Ma spingere a un ramo specifico non è così difficile. Gitlab-CI dovrebbe aggiungere un'opzione di attivazione manuale ai lavori di compilazione. – Routhinator
Per quanto riguarda la distribuzione della stessa versione su più server, probabilmente depositerò la versione su un server share/artifactory/archiva e attiverò l'implementazione di puppet/saltstack da lì. Un'altra opzione potrebbe essere un ramo di snapshot e un ramo di rilascio. Spingendo sullo snapshot viene generata un'istantanea che viene distribuita per il test e, in tal caso, viene eseguito un push al rilascio, che pianifica la distribuzione in pungolo. – Routhinator
[Azioni manuali] [1] sono state introdotte in GitLab 8.10. [1]: http://docs.gitlab.com/ce/ci/yaml/README.html#manual-actions – aux