Technology
 

BuildBot

Da Drizzle Wiki.

Indice

[modifica] Panoramica

Se Drizzle avrà successo sarà grazie ai contributi della comunità. Non devi per forza essere un programmatore per contribuire, ci sono altre attività utili come il testing, la documentazione e i contributi al processo di building.

Contribuire come buildbot slace aiuta gli sviluppatori di Drizzle a testare il programma con una più vasta gamma di diverse configurazioni.

[modifica] Setup

Per far girare un buildbot slave:

  1. Installa Buildbot (link in inglese)
  2. Installa Bazaar (da usare per ottenere i sorgenti da LaunchPad)
  3. Assicurati che tutte le dipendenze siano a posto
  4. Manda una mail a drizzlebuild @ 42sql dot com con le seguenti informazioni:
    • Nome (esempio: Mario Rossi)
    • Sistema operativo - nome versione architettura (CentOS 5 64bit)
    • uname -a
  5. Quando riceverai una risposta, avrai un nome Buildbot (centos5_64) e una password
  6. Segui le seguenti istruzioni.
#
# Crea un utente separato4
#
# Raccomandato ma non obbligatorio creare un utente separato
#
su -
useradd buildbot
su - buildbot
#
# Crea slave
#
buildbot create-slave /home/buildbot/slave drizzlebuild.42sql.com:9989 [slavename] [password]
cd /home/buildbot/slave/info
echo "Put Your Name Here < and some cryptic email text> ” > admin
echo “Drizzle - Name Version & Architecture “`uname -a` > host
cat admin host
#
# es. "Ronald Bradford < ronald.bradford @ Google Mail >"
# es. "Drizzle - CentOS 5 64bit - 
#
#
# Avvia lo slave
#
#
cd /home/buildbot/slave
buildbot start /home/buildbot/slave > start.log 
tail -f /home/buildbot/slave/twistd.log

Se tutto funziona otterrai immediatamente un output, come lo stato delle Drizzle Build Slaves

Ulteriori dettagli (in inglese) su Building sources with BuildBot

[modifica] (Opzionale) Aggiungi uno script a /etc/init.d

Se hai seguito tutte le istruzioni fornite nell'utilissimo articolo di Ronald Bradford può darsi che tu abbia aggiunto l'opzione @reboot al tuo cron. Questo è un modo per lanciare buildbot all'avvio. In alternativa potresti aggiungere uno script in /etc/init.d/ che avvia e ferma buildbot rispettivamente all'avvio e all'arresto del server.

#crea lo script
nano /etc/init.d/drizzle-buildbot.sh
#! /bin/sh
#set path
PATH=/sbin:/bin:/usr/bin

#functions (adjuct to suit your paths) 
do_start () {
        cd /home/buildbot/slave
        buildbot start /home/buildbot/slave > start.log
}

do_stop () {
        cd /home/buildbot/slave
        buildbot stop /home/buildbot/slave
}

case "$1" in
    start|"")
        do_start
        ;;
    stop)
        do_stop
        ;;
    *)
        echo "Usage: drizzle-buildbot.sh start|stop" >&2
        exit 3
        ;;
esac

Ora devi solo creare un symlink a questo script nella directory /etc/rc2.d :

#crea symlink
ln -s /etc/init.d/drizzle-buildbot.sh /etc/rc2.d/S99drizzle-buildbot.sh

Ora, ogni volta che avvii il sistema, buildbot partirà.

[modifica] Impostare i percorsi di ricerca

Se la configurazione del tuo buildbot fallisce perchè non riesce a trovare le dipendenze necessarie, potresti impostare l'ambiente predefinito del tuo utente buildbot.

Per GCC puoi impostare CPATH e LIBRARY_PATH per aggiungere altre directory di ricerca a quelle di default.

Questo ti permette di installare ad esempio libevent in un posto non standard e riuscire comunque a diventare un buildbot slave senza modificare i tuoi percorsi standard.

[modifica] Problemi con Buildslave

Se sei sicuro di avere tutte le dipendenze che sono elencate qui e il tuo slave ha ancora problemi, leggi la pagina problemi di Buildslave.

Rate this article: