Attualmente sto impostando una pipeline Jenkins per un'applicazione web e mi sto chiedendo quali metodi di distribuzione siano più comuni o raccomandati.
Attualmente Jenkins esegue il polling di SCM per i nuovi commit e i trigger creati quando ci sono nuovi commit.
Supponiamo che il processo di compilazione sia:
composer install
phpunit tests
rsync workspace to staging server
behat --profile staging
La domanda è come distribuire?
Devo rsync i file direttamente dallo spazio di lavoro di jenkins che hanno già eseguito il processo di compilazione e superato i test di unità? O dovrei tenere un clone del repository sui server di staging / produzione e attivare un git pull
e quindi una build successiva sul server da distribuire a?
O qualsiasi altra cosa a cui non avessi pensato?