Sobes.tech
Junior

Abbiamo il ramo principale (master), e abbiamo ricevuto una richiesta da uno sviluppatore per implementare una nuova funzione. Quali azioni intraprenderai successivamente?

sobes.tech AI

Risposta dell'AI

  1. Creazione di un nuovo branch. Si crea un nuovo branch dalla branch principale master per lo sviluppo di una nuova funzione. Il nome del branch deve essere informativo, ad esempio, feature/nuovo-nome-funzione.
  2. Sviluppo e test. Lo sviluppatore scrive codice nel nuovo branch, registrando regolarmente le modifiche (commit). Vengono eseguiti test unitari e di integrazione.
  3. Test locali. Lo sviluppatore esegue localmente l'applicazione con la nuova funzione per verificarne il funzionamento.
  4. Creazione di una Merge Request (o Pull Request). Dopo aver completato il lavoro e superato i test locali, lo sviluppatore crea un MR/PR dal suo branch a master.
  5. Revisione del codice. Altri membri del team revisionano il codice nel MR/PR. Lasciando commenti, proponendo miglioramenti o correzioni.
  6. Correzioni dopo la revisione. Lo sviluppatore apporta le modifiche necessarie nel suo branch in base ai commenti.
  7. Pipeline CI/CD. Viene avviata una pipeline CI/CD automatizzata ad ogni commit nel branch MR/PR. La pipeline include:
    • Costruzione del progetto.
    • Esecuzione di test unitari/integrati.
    • Analisi statica del codice (linters, SAST).
    • Scansione delle vulnerabilità (SAST, SCA).
    • Costruzione dell'immagine Docker (se applicabile).
    • Deployment in ambiente di test (se disponibile).
  8. Test di accettazione. Dopo aver superato con successo tutte le fasi della pipeline e la revisione del codice, si esegue il test di accettazione della funzione in ambiente di test/staging (possibilmente manualmente dal Product Owner/QA).
  9. Unione del branch. Se tutti i test sono superati, la revisione del codice è approvata e il test di accettazione è passato, il branch con la nuova funzione viene unito in master. Si utilizzano solitamente strategie di merge "Squash and Merge" o "Rebase and Merge" per una storia dei commit più pulita.
  10. Deploy in produzione. Dopo l'unione in master, si avvia una pipeline per distribuire la versione aggiornata in produzione. Questo può includere test aggiuntivi (ad esempio, E2E) e fasi di approvazione.
  11. Monitoraggio. Dopo il deploy riuscito, si monitora il funzionamento della nuova funzione in produzione per individuare eventuali problemi.