Cos’è Bugzilla
Bugzilla è un’applicazione per il monitoraggio e la gestione dei bug. Una simile applicazione consente a singoli o gruppi di sviluppatori di mantenere traccia dei bug in sospeso o delle richieste di miglioramento. Scritto in Perl, Bugzilla attualmente lo standard de-facto dei sistemi di monitoraggio degli errori con cui tutti gli altri software devono confrontarsi. Attualmente Bugzilla è utilizzato da molte aziende per lo sviluppo interno di software.
Bugzilla è migliorato notevolmente negli anni e ora integra moltissime caratteristiche avanzate, tra cui:
- Schema di sicurezza granulare integrato per prodotto
- Dipendenze tra i bug e grafici di dipendenza
- Capacità avanzate di report
- Un back-end RDBMS stabile e robusto
- Configurabilità estesa
- Un protocollo di risoluzione dei bug facilmente comprensibile e ampiamente testato
- Interfacce di programmazione via e-mail, XML, console, e HTTP
- Possibilità di integrazione con software di CMS, inclusi Perforce e CVS (attraverso l’interfaccia e-mail di Bugzilla e script di checkin/checkout)
- … molte altre funzionalità.
Perché un’azienda dovrebbe usare Bugzilla?
Molte aziende stanno scoprendo che un sistema integrato di gestione degli errori riduce i tempi di non disponibilità delle informazioni, migliora la produttività e aumenta la soddisfazione della clientela nei confronti dei loro sistemi. Oltre a una completa trasparenza, un sistema di gestione dei bug permette ai produttori di rimanere in contatto con i propri clienti e rivenditori, di dialogare efficacemente su problemi specifici. Molte aziende hanno anche capito che i sistemi di gestione dei bug permettono di ridurre i costi, fornendo al supporto informatico una base di conoscenza per l’assistenza telefonica e un sistema comune e ben conosciuto per la gestione di problemi e situazioni rare.
Bugzilla si adatta a molte situazioni diverse. Alcuni campi di applicazione noti sono le code di supporto in campo IT, la gestione dell’implementazione dell’amministrazione di sistema, progettazione di chip e gestione dei problemi di sviluppo (sia nella fase di pre-produzione che di post-produzione), e gestione dei bug software e hardware per colossi come Redhat e Linux-Mandriva. In combinazione con sistemi come CVS, Bonsai o Perforce SCM, Bugzilla fornisce una soluzione potente e semplice per gestire le configurazioni e replicare i problemi.
Bugzilla può migliorare anche la produttività dei singoli impiegati fornendo un percorso di lavoro preciso e documentato e un feedback positivo per ogni operazione corretta. Quante volte ci si sveglia al mattino, ricordandosi che si doveva preparare qualcosa per quel giorno, ma non si riesce a ricordare che cosa? Inserendo il proprio impegno in Bugzilla, si avrà a disposizione un record per questa attività da cui estrapolare delle milestone, dove sarà possibile specificare le versioni del prodotto per l’integrazione, e usando le funzionalità di integrazione e-mail di Bugzilla essere in grado di seguire costantemente il filo della discussione che porta a decisioni critiche.
Installazione su Debian Sarge
Questo test è stato condotto su un pc dotato di processore Pentium II 350MHz e 128MB di RAM, con installazione minima da netcd di Debian Sarge.
Preparazione del sistema
Useremo dei pacchetti già pronti per l’installazione tramite apt, scaricandoli dai alcuni mirror riportati di seguito:
# /etc/apt/sources.list deb http://debian.fastweb.it/debian stable main contrib non-free deb http://packages.dotdeb.org/ stable all
apt-get update
apt-get install sendmail-base sendmail-bin sendmail-cf mysql-server php5 xml-core php5-pear apache \ libapache-mod-php5 php5-mysql dbishell libcompress-zlib-perl libmysqlclient14-dev mailx openssl \ libsasl2-modules jed php5-mysql
Per il corretto funzionamento di Bugzilla, occorrono alcune librerie perl, quindi le installiamo tramite CPAN:
perl -MCPAN -e 'shell' o conf prerequisites_policy ask install Bundle::CPAN reload cpan install LWP install AppConfig install CGI install Data::Dumper install Date::Format install DBI install File::Spec install File::Temp install Template install Text::Wrap install Mail::Mailer install MIME::Base64 install MIME::Parser install Storable install GD install Chart::Base install GD::Graph install GD::Text::Align install XML::Twig install PatchReader install Template::Plugin::GD install HTML::Scrubber quit
cd /usr/src wget http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-3.0008.tar.gz tar zxvf DBD-mysql-3.0008.tar.gz cd DBD-mysql-3.0008 perl Makefile.PL && make && make install && ldconfig && cd ..
Preparazione del database per la gestione/registrazione degli account e bugs
Prima di installare Bugzilla dobbiamo creare un database (MySQL o PostgreeSQL) dedicato.
mysqladmin -uroot password ‘password’ mysql -u root -p create database bugs; GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY 'db_pass'; FLUSH PRIVILEGES; \q
Installazione di Bugzilla
Adesso possiamo prelevare i sorgenti di Bugzilla e installarli nel sistema. Per il funzionamento occorrerà apportare delle modifiche al file di configurazione di Apache.
wget tar zxvf bugzilla-2.22.1.tar.gz cd bugzilla-2.22.1
./checksetup.pl # saranno poste delle domande relative l’amministratore del sistema ed email dello stesso
jed localconfig $webservergroup = "www-data"; $db_host = 'localhost'; $db_name = 'bugs'; $db_user = 'bugs'; $db_pass = 'db_pass';
cd .. mv bugzilla-2.22.1 /usr/local/bugzilla
Nel file httpd.conf, occorre creare un alias alla directory di Bugzilla, specificando le relative opzioni del caso e riavviando Apache al termine.
jed /etc/apache/httpd.conf
Alias /bugzilla /usr/local/bugzilla <Directory /usr/local/bugzilla> Options +ExecCGI AllowOverride Limit DirectoryIndex index.cgi Allow from 192.168.0.0/255.255.255.0 AddHandler cgi-script .cgi </Directory>
/etc/init.d/apache restart
Adesso che l’installazione è terminate, verifichiamo il funzionamento del sistema puntando un browser web all’url http://server/bugzilla. Accedendo con le credenziali impostate al momento dell’installazione è possibile aggiungere/gestire gli utenti e creare/amministrare le categorie dei bug che si vogliono rendere disponibili ai propri utenti.
installazione è possibile aggiungere/gestire gli utenti e creare/amministrare le categorie dei bug che si vogliono rendere disponibili ai propri utenti.