Questo è un progetto web scritto in Java.
Quindi, sto scrivendo gli script build e deploy. Per creare la build, ho usato la formica. La build continua viene eseguita con Jenkins.
La build genera 3 diversi artefatti:
- Il file di guerra
- Una zip con layout
- Una zip con immagini
Fin qui tutto bene, ma ora devo scrivere lo script deploy, che dovrebbe:
- Distribuisci la guerra (artefatto 1) sul tomcat in esecuzione sul server 1
- Posizionare l'artefatto 2 sul server 1 in una directory specifica
- Posizionare l'artefatto 3 sul server 2 in una directory specifica
Quindi stavo parlando con il mio collega e ha detto che dovremmo anche generare un artefatto (forse deploy.xml ) che distribuisce questi artefatti quando viene posizionato sul server corretto.
Quindi ci sarebbe un altro copione, che dovrebbe:
- Scarica i manufatti di jenkins
- scp su ciascun server e posizionare lì il file deploy.xml
- invocare in remoto deploy.xml
Ciò che mi mette un po 'a disagio è l'atto di avere deploy.xml come artefatto build. La motivazione alla base di ciò sarebbe quella di essere in grado di effettuare una distribuzione senza la necessità di avere accesso ai repository VCS, quindi una build sarebbe autonoma, ovvero qualsiasi build potrebbe andare in produzione solo con ciò che è stato generato da Jenkins.
Dove dovrebbero essere collocati gli script di distribuzione? Dovrebbero essere solo al VCS o dovrebbero essere anche artefatti da costruire?