La procedura nella mia squadra è che tutti impegniamo il nostro codice nello stesso ramo di sviluppo. Abbiamo un server di test che esegue codice aggiornato da questo ramo in modo che possiamo testare il nostro codice sui server. Questo server di prova è esposto su Internet in modo da poter verificare i callback da servizi di terze parti come sendgrid. (dove si specifica un url per sendgrid per aggiornarti sullo stato delle e-mail inviate)
Il problema è che se vogliamo unire il ramo di sviluppo al ramo master per pubblicare nuove funzionalità sui nostri server di produzione, alcune funzionalità che potrebbero non essere state pronte verranno applicate ai server di produzione.
Quindi stiamo pensando di far lavorare ogni sviluppatore su un ramo di funzionalità / argomento in cui ognuno di loro lavora sulle proprie funzionalità e quando è pronto, uniscilo nel ramo di sviluppo per il test e poi nel ramo principale.
Tuttavia, poiché il nostro server di test recupera solo le modifiche dal ramo di sviluppo, gli sviluppatori non sono in grado di testarne le funzionalità. Sebbene questo non sia un problema enorme in quanto possono testarlo sul proprio computer locale, l'unico problema che prevedo è se vogliamo testare i callback da servizi di terze parti usando il nostro server di test durante lo sviluppo di una funzione .
Come possiamo gestire questo problema?
Nota: non siamo utenti avanzati di git. Usiamo l'app Github per MacOSX e Windows per impegnare il nostro lavoro.
Setup: è un progetto PHP. Non abbiamo alcuna forma di configurazione della CI e non abbiamo le conoscenze per farlo. Alla fine vogliamo usare Jenkins ma al momento ci stiamo concentrando solo sul nostro prodotto minimo vitale.