CVSNT - Installazione su sistemi Linux

CVS è un noto sistema per gestire le collaborazioni nello sviluppo del software. Tramite un sistema CVS è possibile effetuare manutenzione sul software e validare ogni singolo intervento, nonchè tenere traccia delle modifiche effettuate e revisionare il lavoro svolto. Oltre a tutto ciò sono disponibili altre caratteristiche molto utili per chi sviluppa software anche al di fuori di un team di lavoro.

Installazione lato server

Installare, per chi come me utilizza Ubuntu, il pacchetto tramite apt-get

#apt-get install cvsnt[processo di installazione]

Al termine dell’installazione dobbiamo copiare un file di configurazione all’interno della dir /etc/cvsnt.
Possiamo eseguire questa operazione copiando il file di esempio /etc/cvsnt/PServer.example:

#cp /etc/cvsnt/PServer.example /etc/cvsnt/PServer

Ora è necessario definire una directory root dei nostri repository, per coerenza con il sistema in uso ho utilizzando la directory /usr/local creando la directory cvs:

#mkdir /usr/local/cvs

Dichiaro la costante di sistema CVSROOT per utilizzare la directory appena creata:

#export CVSROOT=/usr/local/cvs

A questo punto posso inizializzare CVS:

#cvs initcvs
init: Repository /usr/local/cvs initialised

Ora il nostro CVS è pronto per essere utilizzato dagli sviluppatori.

Connessione remota

Una delle caratteristiche principali del sistema CVS è di poter utilizzare un server dedicato ad ospitare i repositories e
mantenere lo sviluppo delle versioni del software nelle sandbox degli sviluppatori che compongono il team di lavoro.
Per tale motivo è necessario abilitare ad ogni singolo membro l’accesso al repository.

L’accesso al repository è veicolato tramite l’utilizzo di protocolli dedicati, quelli che ho utilizzato sono i seguenti:

Protocollo SSH
La secure shell garantisce una buona sicurezza in fase di accesso - password criptata e cifratura nelle trasmissioni - ma
implica la creazione di ogni singolo utente sul sistema in uso.

Protocollo pserver
A differenza di SSH, il protocollo pserver non nasconde nulla e manda tutto in chiaro, password comprese.
La configurazione degli accessi viene gestita direttamente dal CVS.

Innanzitutto per la gestione tramite pserver è necessario creare 2 nuovi utenti sul sistema:

--------------------- 
| utente   | gruppo   |
---------------------
| cvsadmin | cvsadmin |
| cvsuser  | cvsuser  |
---------------------

L’utente cvsadmin ha il compito di operare sui file di configurazione mentre, l’utente cvsuser,
sarà utilizzato come utente per l’accesso ai repositories.

Creazione di un nuovo utente:
Per la creazione è necessario loggarsi con l’utente cvsadmin

#su cvsadmin#[password]

In seguito è possibile creare il nuovo utente sul nostro CVS

$cvs passwd -a -r <system_username> <alias_username>

In questo caso tramite il parametro -a specifichiamo la creazione di nuovo utente e, con il parametro -r, indichiamo che l’utente creato nel CVS è un alias di un utente del sistema (cvsuser).

Esempio per la creazione di un nuovo utente CVS:

$cvs passwd -a -r cvsuser fabio

Fatto ciò non rimane che creare un nuovo progetto controllato da CVS importando i file di un progetto esistente.
Accedere alla directory in cui sono presenti i nostri file sorgenti da importare nel CVS:

$cd /home/projects/projectsource

Importare i file sorgenti tramite l’opzione import di CVS

$cvs import -m "imported source" testcvs VENDOR_TAG RELEASE_TAG

testcvs: il nome del nostro repository
VENDOR_TAG: etichetta associata al gruppo di lavoro
RELEASE_TAG: etichetta della release del software

Ora le sandbox sono pronte per accedere al nostro repository remoto, per connettersi al repositories server basta utilizzare un client CVS come TortoiseCVS impostando la seguente stringa di connessione:

:protocollo:username@server.host:port:cvsroot

Esempi:
per le connessioni tramite pserver

:pserver:fabio@192.168.1.247:2401/usr/local/cvs

per le connessioni tramite SSH

:ssh:fabio@192.168.1.247:2401/usr/local/cvs

Risorse

CVSNT Homepage
CVSNT Wiki
TortoiseCVS - Client CVS

0 Responses to “CVSNT - Installazione su sistemi Linux”


  1. No Comments

Leave a Reply