Questo è un progetto web scritto in Java.
Quindi sto scrivendo la build e gli script di deploy. Per creare la build, ho usato la formica. La costruzione continua viene eseguita con Jenkins.
La build genera 3 artefatti diversi:
- Il file di guerra
- Un file zip con layout
- Un file zip con immagini
Finora, tutto bene, ma ora ho bisogno di scrivere lo script di distribuzione, che dovrebbe:
- Distribuisci war (artefatto 1) sul tomcat in esecuzione su server 1
- Posiziona l'artefatto 2 sul server 1 in una directory specifica
- Posiziona 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 script, che sarebbe:
- Scarica gli artefatti di jenkins
- scp su ogni server e posiziona il file deploy.xml
- richiama da remoto il deploy.xml
Ciò che mi rende un po 'a disagio è l'atto di avere deploy.xml come artefatto di build. La motivazione alla base sarebbe quella di poter eseguire una distribuzione senza la necessità di accedere ai repository VCS, quindi una build sarebbe autosufficiente, cioè qualsiasi build potrebbe essere messa in produzione solo con quanto generato da Jenkins.
Dove dovrebbero essere collocati gli script di deploy? Dovrebbero essere solo al VCS o dovrebbero anche essere artefatti?