2015-03-26 24 views
10

Da GitLab 7.6, o giù di lì, esiste una nuova opzione per utilizzare TeamCity direttamente dai progetti GitLab. Nella messa a punto non v'è questo messaggio:Integrazione di GitLab con TeamCity

La configurazione di generazione in TeamCity deve utilizzare il numero del formato accumulo % build.vcs.number% vorrete anche configurare il monitoraggio di tutti i rami in modo fondere le richieste di costruire, che l'impostazione è nella root vsc impostazioni avanzate.

Non sono sicuro di come funzioni. Diciamo che ho un repository Foo.

Ho installato una build sulla TeamCity per ascoltare Foo con la specifica filiale: +:refs/pull/*/merge

Ho poi Foo bivio gitlab come FooFork, fare un cambiamento, quindi richiedere una fusione FooFork -> Foo.

Ma non succede nulla per testare questa unione, che è quello che mi aspettavo GitLab da fare. Se accetto l'unione, il server di creazione salta all'azione (immediatamente) e crea due volte (master e /ref/master).

Ho anche impostato la configurazione di build per utilizzare esattamente:% build.vcs.number% come numero di build come prescritto, ma gitlab non sembra darmi alcuna informazione sul risultato di build.

Quindi sono un po 'confuso riguardo a cosa dovrebbe fare esattamente questa integrazione di GitLab -> TeamCity e se sto sbagliando.

Sono attualmente in esecuzione GitLab 7.9 e 8.1.4 TeamCity

Aggiornamento:

sembra che questo caso d'uso non è stata sostenuta prima versione 8-https://github.com/gitlabhq/gitlabhq/issues/7240

+0

Dovresti rispondere alla tua stessa domanda che questo caso non è attualmente supportato e chiuderlo in modo che altri utenti che hanno lo stesso problema possano fare riferimento a questo. – JNYRanger

risposta

6

Sto correndo GitLab 8.0.2 e 9.1.1 TeamCity e sono in grado di funzionare CI si basa sui rami e unire le richieste.

ho innescare CI costruisce per settori specifici impostando un trigger VCS insieme al branch specification+:refs/heads/(xyz*) dove xyz è la stringa per il nostro prefisso sistema di ticket in quanto hanno bisogno di essere chiamato dopo una voce nel nostro issue tracker tutti i rami attivi.

ho innescare costruisce per le richieste di unione tramite la specifica ramo +:refs/(merge-requests/*)

Tutto funziona come come previsto e ci permette di conoscere lo stato di tutte le funzionalità/rami di bug e unire automaticamente le richieste.

Grazie al commento di Rob che collega alla nota di rilascio di GitLab 8 sulla specifica della richiesta di fusione.

+0

TeamCity non vede le richieste di unione = ( –

+0

Devo ammettere che sono passato a GitLab CI, quindi non so se funziona, altrimenti aprirò nuovamente la domanda –

+1

Uso di GitLab-Enterprise qui, normalmente dovresti essere in grado di vedere le richieste di unione, di solito 'refs/merge-requests//head', prova a fare' $ git ls-remote' su un repository, che è il punto remoto di un repository GitLab ospitato. – Rob

2

Stesso problema qui. Potrebbe esserci un altro modo, sto valutando proprio ora. Dal momento che non c'è modo diretto di indurre lo Stato unito dal bersaglio MR, devi costruire da soli:

IMO c'è il seguente todos
1.) init un nudo repo $ git init
2.) aggiungi la tua bersaglio repo $ git remote add origin [email protected]:<origin.group>/<origin.repo>.git
3.) aggiunge di $ git remote add target [email protected]:<feature.group>/<feature.repo>.git
4. l'unione a remoto/funzione /) Acquista tuo ramo di caratteristica $ git checkout -b <feature.branch> feature/<feature.branch>
5.) Acquista tuo ramo originale $ git checkout -b <origin.branch> origin/<origin.branch>
6.) rEBASE funzione nella vostra filiale originale $ git rebase <feature.branch>

Come detto qui [1], GitLab-CE può generare un evento sulla creazione di un'unione-richiesta,

quindi tutto quello che dovete fare è la costruzione di alcuni meta, in grado di valutare le WebHooks.

[1] http://doc.gitlab.com/ce/web_hooks/web_hooks.html#merge-request-events

+0

Sembra che gitlab abbia questa funzionalità in GitLab-8.0.0, come visto qui: https://github.com/gitlabhq/gitlabhq/blob/master/CHANGELOG > - Possibilità di recuperare le richieste di unione da ref/unioni- richieste /: id – Rob