Tutti i miei progetti fino a questo momento sono stati da soli (sviluppo applicazioni web a pagina singola). Ho sempre utilizzato un IDE che carica automaticamente le modifiche su un server Amazon EC2 di prova su SFTP e semplicemente aggiorno la mia pagina del browser per vedere le modifiche. Poi quando ho ottenuto un risultato stabile, carico le modifiche al mio server EC2 di produzione e il prodotto viene aggiornato.
Recentemente ho iniziato a lavorare su un progetto di gruppo, quindi dovevo assicurarmi di non sovrascrivere le modifiche di altri, quindi ho cambiato il mio flusso di lavoro:
- I collaboratori scrivono il codice nell'IDE
- IDE sincronizza automaticamente quei file nella loro memoria Github locale per il nostro progetto
- Trasferiscono tali file nel progetto Github online
- AWS CodePipeline estrae i commit su un ambiente AWS Elastic Beanstalk di prova
- Possiamo testare queste modifiche
- Se soddisfatti, sincronizziamo il progetto con l'ambiente AWS EB di produzione.
Sembra complesso come vorrei ottenere il mio flusso di lavoro.
Tuttavia, durante la ricerca di soluzioni di distribuzione, ho trovato questo grafico che mostra molti altri passaggi nel processo di distribuzione :
Il materiale di marketing di AWS per Code Pipeline dimostra ampie possibilità nelle fasi di implementazione, e mi sento come se avessi solo scalfito la superficie, ma non riesco a pensare al motivo per cui vorrei avere più passaggi di me. Qualcuno può spiegare quando o perché vorrei utilizzare questi vari altri passaggi nella distribuzione di un'applicazione web a pagina singola?
Ovviamente non sto lavorando su un progetto su larga scala, ma sono interessato a sapere quali tipi di progetti e situazioni richiederebbero a me / mio team di utilizzare questi vari aspetti di una pipeline di distribuzione.