2015-02-28 10 views
9

Ho provato a eseguire una configurazione, in cui utilizzo Travis CI (http://www.travis-ci.org) per creare e testare il mio programma ogni volta che eseguo il commit su GitHub. La mia configurazione di GitHub è di avere un master e un ramo slave/test, a cui mi impegno prima di unirmi al master. Comunque, sin da ora sto facendo la fusione manuale su GitHub.com, che mi piacerebbe automatizzare, in modo tale che quando una compilazione ha successo su Travis, voglio unire subito il mio ramo slave/test al master. Qualcuno sa come sia possibile su Travis CI o un altro modo per ottenere ciò con Travis?Raccordo di fusione automatico in master su build con successo in travis

risposta

6

È possibile preparare lo script che verrà utilizzato per unire i rami. Travis imposta alcune variabili d'ambiente utili che puoi usare nel tuo script.

sceneggiatura Merge può assomigliare:

if [ "$TRAVIS_BRANCH" != "test" ]; then 
    exit 0; 
fi 

export GIT_COMMITTER_EMAIL=... 
export GIT_COMMITTER_NAME=... 

git checkout master || exit 
git merge "$TRAVIS_COMMIT" || exit 
git push ... # here need some authorization and url 

successivo si può mettere in .travis.yml

after_success: ./merge_script.sh 

Maggiori informazioni:

+2

nella mia esperienza, comandi come 'git checkout some-branch' falliranno in Travis-CI. – jononomo

Problemi correlati