Domanda

Stiamo usando trac e ne siamo davvero soddisfatti. Tuttavia, pronto all'uso, trac è più adatto solo per ambienti a singolo progetto. Sarei interessato a conoscere i vari approcci adottati dalle persone per farlo funzionare con più progetti e le loro esperienze con loro. Ci sono plugin da raccomandare? Eventuali patch, modifiche o quant'altro? Stai forse utilizzando un sistema di tracciamento dei bug completamente diverso che offre tutte le funzionalità di trac oltre al supporto multi-progetto?

Di recente abbiamo iniziato a gestire noi stessi un secondo progetto che generalmente funziona bene ma presenta anche alcuni inconvenienti, soprattutto quando i due progetti si sovrappongono a causa del codice di libreria comune che abbiamo scritto che viene utilizzato in entrambi i progetti. Come lo gestisci?

(Allegherò il nostro approccio attuale come risposta a questo post.)

È stato utile?

Soluzione

L'approccio adottato è quello di creare un altro ambiente trac per ciascun nuovo progetto e impostare InterTrac collegamenti per riferimenti incrociati più semplici tra i due. Utilizziamo anche un file Trac.ini di base comune tramite la direttiva [eredit].

Oltre alle problematiche legate all'ambiguità con il codice condiviso menzionate nella domanda, questo presenta alcuni svantaggi che possono o meno influire su di te, a seconda della natura dei tuoi progetti e del tuo flusso di lavoro:

  • la creazione di nuovi progetti non è un processo facile; non può essere fatto tramite l'interfaccia del browser
  • i numeri dei biglietti non sono unificati: ogni nuovo ambiente di progetto inizia dal primo # - almeno con gli alias InterTrac puoi facilmente chiarirli
  • devi prestare particolare attenzione durante l'installazione e la configurazione dei plugin in modo che vengano installati e configurati per tutti gli ambienti

Altri suggerimenti

Un'alternativa che abbiamo seguito è quella di configurare diversi progetti come componenti.

Condividiamo il repository SVN e la home page della wiki, ma non stiamo utilizzando le funzionalità milestone. Se il progetto è abbastanza grande da avere moduli diversi (solo uno nel nostro caso) configuriamo ciascun modulo come componente anziché come progetto.

Circa un anno fa è stato implementato SimpleMultiProjectPlugin (supporto di più progetti in un'istanza Trac). Funziona con > = Trac 0.12. Aggiunge un nuovo campo "progetto" di ticket, estende la pagina della timeline e della roadmap con filtri per più progetti e le sue mappe versioni, componenti e pietre miliari ai progetti.

Stessa sensazione qui, Trac è davvero bello una volta configurato correttamente. Ed è facilmente hackerabile senza toccare alcun codice. Vorrei solo che la sintassi del wiki fosse qualcosa di più comune, come il markdown.

Abbiamo adottato l'approccio dell'utilizzo di un'istanza Trac. Non avevamo bisogno / volevamo usare una stretta ACL e ha il vantaggio di mantenere tutte le attività degli sviluppatori in un unico posto.

Per separare i progetti, stiamo essenzialmente assegnando bug a varie pietre miliari. Ogni progetto ha una pietra miliare a breve e lungo termine. Il breve termine viene utilizzato per correggere bug effettivi e il lungo termine per le versioni principali.

La maggior parte dell'altro "nuovo biglietto" i campi sono stati potati, mantenendo il "tipo" e "severità" campi, che sono uguali in ogni progetto.

I rapporti sono essenzialmente limitati a "I miei biglietti", e al "Mostra rapporto" il pulsante è stato ottimizzato per accedere direttamente ai tuoi biglietti.

Anche il flusso di lavoro è stato adattato per aggiungere un "test" intermedio stato, in modo che il QA possa garantire la correzione.

La configurazione della posta elettronica è stata ottimizzata per non inondare le cassette postali, in modo che gli sviluppatori leggano effettivamente i loro compiti.

Con quello sul posto, abbiamo uno strumento abbastanza efficiente. Ci è voluto del tempo per farlo bene, ma è facile cambiare le cose se sai come hackerare e cercare cose su Google.

Il progetto Apache Bloodhound è stato avviato specificamente per fornire supporto a più progetti su Trac (tra le altre cose). È essenzialmente una raccolta di plugin in cima a Trac.

Bloodhound rimane compatibile con i più popolari Trac-Hacks e segue le eventuali modifiche a Trac stesso. Puoi provare anche l'istanza demo .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top