Se volete velocizzare e automatizzare le procedure di pubblicazione (e backup) delle modifiche che fate ad una vostra applicazione i cui sorgenti sono gestiti tramite Subversion potete farlo sfruttando l’hook che ho realizzato.
Attenzione: funziona solo se il vostro server Subversion è basato su Linux, se da esso è possibile avviare connessioni ssh verso i server su cui gira l’applicazione e se non ci sono particolari impedimenti nell’amministrazione del repository da parte vostra.
Operazioni preliminari:
- avere pronto un repository subversion strutturato con:
trunk/ –> directory in cui è presente la versione di pre-produzione dell’applicazione
tags/ –> directory in cui è presente una sottodirectory per ogni macro-release dell’applicazione in produzione
brances/ –> directory in cui è presenta una sottodirectory per ogni versione sperimentale/in sviluppo dell’applicazione - configurare il server su cui gira subversion in modo che l’utente usato dal demone di quest’ultimo si possa connettere via ssh al server che ospita l’applicazione (pre-produzione e produzione) senza richiesta di password (autenticazione tramite chiavi crittografiche – vedere ssh-copy-id).
- permettere al server su cui gira subversion di scrivere in una directory locale/remota in modo che possa creare in essa i pacchetti di rilascio/backup da usare poi per verifica e come sorgente per gli upload automatici
Configurazione automatismi
- copiare il file post-commit nella directory hooks/ del repository sul server subversion
- dare i permessi di esecuzione al file post-commit
- modificare il file post-commit inserendo tutte le informazioni relative ai server che contengono la versione di pre-produzione e produzione della vostra applicazione e relativi metodi di accessibilità tramite ssh
Una volta fatto tutto questo avrete l’upload automatico, ad ogni commit, dei file direttamente dal repository ai server.
Il file è scaricabile qui .