Setelah bermain2 dengan drupal untuk project web collaboration, gw selalu melakukan kegiatan yang sifatnya administratif dan berulang2. Parahnya lagi ini ga bisa gw lakukan lewat administrator interface. Beberapa hal tsb misalnya,
- Karena project disimpan di subversion maka untuk memulai project, gw dan anggota tim harus,
- Checkout project dari repository
- Memindahkan hasil checkout ke direktori /var/www/
- Setelah kerjaan selesai, tinggal commit hasilnya
- Deployment ke server
- SSH ke server
- Export project (last stable) dari repository
- Backup project sebelumnya dengan me-rename namanya menjadi project-backup. Misalnya dari /var/www/project ke /var/www/project-backup
- Memindahkan hasil export project ke direktori /var/www
- Backup data
- SSH ke server
- Copy project ke direktori backup. Misalnya, copy dari direktori /var/www/project ke /backup/project-[tanggal_hari_ini]
- Dump database dan simpan di dalam direktori backup (/backup/project-[tanggal_hari_ini])
Kegiatan tsb kalo dilakukan terus menerus akan sangat membosankan. Nah maka itu gw pgn semua proses di atas bisa diotomasi. Maka gw ketemu sama yang namanya Capistrano, tools yang dibuat di atas ruby dan bertugas untuk melakukan otomasi kegiatan2 yang sifatnya repetitif seperti, instalasi, deployment, mengatur konfigurasi2, backup, dsb. Karena dibuat dengan ruby maka capistrano ini mudah di-extend dengan menambah ruby module. Capistrano ini bisa melakukan otomasi project yang dibangun selain ruby (walaupun awalnya ditujukan khusus ruby).
Maka dari itu gw mau share script capistrano untuk melakukan deployment dan backup pada projek drupal. Dengan asumsi OS yang digunakan adalah Ubuntu. Read the rest of this entry »







Recent Comments