2015-08-09 24 views
6

Non riesco a trovare alcuna documentazione di staging manuale in Gitlab CI nella versione 8.9. Come posso fare una fase manuale come "Distribuisci in prova"?Come si creano stadi manuali in Gitlab CI?

Vorrei che Gitlab CI distribuisse un RPM di successo per lo sviluppo, e poi, una volta esaminato, spingere su Test, e da lì generare un rilascio. Questo è possibile con Gitlab CI al momento?

risposta

3

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.

+1

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

+1

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

+0

[Azioni manuali] [1] sono state introdotte in GitLab 8.10. [1]: http://docs.gitlab.com/ce/ci/yaml/README.html#manual-actions – aux

4

Infine, abbiamo Gitlab CI manual actions che è stato introdotto in GitLab 8.10.

Problemi correlati