Abbiamo un'applicazione basata su Java che, fino ad oggi, abbiamo distribuito come un tarball con le istruzioni per la distribuzione. È per lo più autonomo, quindi la distribuzione è abbastanza semplice:
- Untar sul disco su cui desideri che risieda;
- Assicurati che Java sia nel tuo percorso e una distribuzione e una versione appropriate;
- Verifica la proprietà e il gruppo su tutti i file
- Avvia i processi del server con il nostro script iniziale
Se l'utente vuole entrare in roba di avvio con SysV, abbiamo alcune istruzioni scritte e un file di init di template nel nostro tarball.
Vorremmo rendere questo processo di installazione un po 'più semplice; prenditi cura delle autorizzazioni e della distribuzione dello script init. Inizieremo anche a raggruppare il nostro JRE con l'applicazione in modo da non avere più dipendenze esterne.
La domanda che dobbiamo affrontare ora è: come scegliere un formato di pacchetto per la distribuzione? RPM è lo standard? Tutti gli strumenti di gestione dei pacchetti possono ora occuparsene? I nostri clienti eseguono principalmente RHEL e CentOS, ma ne abbiamo alcuni che usano SuSE e persino Debian. Se riusciamo a scegliere un formato distro-agnostico, preferiremmo questo.
Che dire di uno script di shell autoestraente? Qualcosa di simile a come viene distribuito Java. Se siamo privi di dipendenza, lo script autoestraente sarebbe sufficiente? Quali caratteristiche o comodità dovremmo perdere andando con la sceneggiatura rispetto a un formato di pacchetto adeguato destinato all'uso da parte di un gestore di pacchetti?