Wednesday, March 10, 2004 18:07:55

CVS Repository untuk source code anda

Article and tutorial that related to Linux Operating System  
CVS merupakan piranti lunak yang dapat menjaga sinkronisasi kumpulan file, dan membantu bagi developer / programmer yang berada di tempat berbeda untuk mengerjakan suatu proyek secara bersama-sama. Sebab membantu developer untuk mengetahui siapa yang mengedit file, apa yang diedit, kapan dan mengapa hal tersebut terjadi.

Bagi kita yang mengerjakan aplikasi-aplikasi dalam situasi seperti yang dijelaskan diatas, maka akan merasakan hal yang menyesakkan jika tidak menggunakan piranti seperti CVS ini. Untuk menyiapkan server kita agar siap menjadi CVS Repository (server) maka perlu tersedia paket cvs dalam sistem kita, Instalasinya cukup mudah baik yang menggunakan paket manager rpm, debian maupun instalasi lewat source. Proses instalasi diserahkan sepenuhnya kepada anda untuk melakukan sendiri :p . Sedangkan artikel kali ini membahas proses konfigurasi CVS sehingga siap untuk dipergunakan bagi para programmer kita.

Istilah-istilah yang umum:
Module - Beragam kumpulan file yang ada di CVS
Repository - Lokasi dari server CVS dimana module berada.
Revision - Beragam versi dari file.

1. Login sebagai root dan pastikan terdapat user dan group cvs dalam sistem anda

2. Kita mesti menyiapkan variabel berikut ini di dalam .bashrc kita
export CVSROOT='/home/cvsroot'
export CVSEDITOR=/bin/vi

3. Buat CVS Repositorynya dengan menjalankan opsi diatas dan melakukan inisialisasi CVSROOT
export CVSROOT='/home/cvsroot'
export CVSEDITOR=/bin/vi
cvs -d /home/cvsroot init

4. Rubah perijinan pada direktori /home/cvsroot
chown -R cvs.cvs /home/cvsroot

5. Pastikan terdapat opsi dibawah ini pada file /etc/services
cvspserver 2401/tcp

6. Buat / Edit file /etc/xinet.d/cvs anda seperti dibawah ini:

service cvspserver
  {
  disable = no
  socket_type = stream
  wait = no
  user = cvs
  group = cvs
  log_type = FILE /var/log/cvspserver
  protocol = tcp
  env = '$HOME=/home/cvsroot'
  bind = 192.168.2.4
  log_on_failure += USERID
  port = 2401
  server = /usr/bin/cvs
  server_args = -f --allow-root=/home/cvsroot pserver
  }

Restart xinetd untuk memastikan perubahan diatas berjalan baik.

7. Login sebagai cvs . Kita akan membuat password untuk user-user yang boleh mengakses cvs server kita.

8. Buat file perl berikut,
#!/usr/bin/perl

srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);

print "${crypttext}\n";

9. Buat file passwd di /home/cvsroot/CVSROOT/ dan masukkan data berformat (namauser:password-terenkrip:cvs)
caranya?: jalankan file perl diatas (misal kita namain cvspasswd)
[cvs@leuser cvsroot]$ ./cvspasswd testing
Ofodd1GwfaEQs

Dari perintah cvspasswd diatas keluar output Ofodd1GwfaEQs, nah output ini kita pastekan ke file passwd kita
dvlganteng:Ofodd1GwfaEQs:cvs

Anda bisa membuat user-user lain dengan cara yang seperti di step 9 diatas.

10. Rubah perijinan dari passwd
chmod 400 /home/cvsroot/CVSROOT/passwd

Testing Repository

1. Login sebagai user biasa lalu jalankan perintah berikut:
export CVSROOT=:pserver:namauser@nama_server_cvs_kita:/home/cvsroot
cvs login

2. Buat proyek2 percobaan:
cd
mkdir cobaaja
echo "Hello world" > cobaja/test

3. Import proyek kita ke dalam repository
cd cobaaja
cvs import -m "Test aja lho" cobaaja perushku start

Catatan ---> cvs import maksud dari perintah diatas

4. Sekarang kita melangkah pada hal terakhir yang mesti dilakukan yaitu melakukan 'check out' pada salinan kerja kita pada modul di mesin kita. Disini kita ingin melakukan checkout pada modul cobaaja kita
cvs checkout cobaaja

CVS sudah siap dipergunakan, anda bisa menggunakan CVS client baik yang berjalan di sistem operasi Windows (WinCVS, TortoiseCVS), UNIX (cvs, TkCVS), MacOS (MacCvsX) dan lain-lain.....

Credit:
How-to Install and Configure a CVS Repository Server http://www.taursys.com/howto/cvs/


Permalink logo del.icio.usadd to del.icio.us | view as pdfview as pdf