MWN Website
ContactHome

Update situs otomatis setiap selesai commit ke Subversion

Artikel berikut ini memberikan tip bagaimana membuat situs terupdate otomatis setiap selesai commit ke Subversion. Sebetulnya, lebih dianjurkan agar situs staging/testing saja yang disetting seperti ini, karena kadang commit kita bisa mengandung kesalahan. Namun cara ini memberi kepraktisan karena tidak perlu lagi upload secara manual.

Yang diperlukan:

Langkah-langkah:

1. Buat repositori Subversion. Lihat link artikel di atas untuk detil caranya jika di Spanel.

2. Isikan file-file website dan commitkan ke repositori Anda. Caranya terserah Anda, bisa menggunakan TortoiseSVN, dll.

3. Login ke SSH/shell. Berpindahlah ke direktori repositori Anda, subdirektori hooks/. Di Spanel, lokasinya di /u/USERANDA/svn/NAMAREPO/hooks (ganti dengan nilai sebenarnya):

$ cd /u/USERANDA/svn/NAMAREPO/hooks

4. Buatlah file post-commit yang isinya:

#!/bin/bash
lynx -dump http://SAMASITUS/svnup.php

Ganti nilai NAMASITUS dengan nama situs sebenarnya. Menggunakan shell, caranya seperti ini:

$ echo -e "#!/bin/bash\nlynx -dump http://NAMASITUS/svnup.php"

Lalu chmod agar dapat dieksekusi:

$ chmod +x post-commit

5. Buatlah file svnup.php di document root Anda yang isinya:

<?php system("svn up"); ?>

6. Jika menggunakan Spanel, settinglah situs Anda agar berjalan dengan user Anda, bukan user khusus CGI. Lihat di artikel ini untuk detilnya: User CGI.

7. Kecuali file svnup.php, hapus semua file di document root. File-file di document root akan diambil dari repositori SVN Anda. Jangan lupa masukkan juga skrip svnup.php ke dalam repositori Anda.

8. Ujilah dengan melakukan "svn up" dari shell:

$ cd /u/USERANDA/sites/NAMASITUS/www
$ svn co --username USERNAME --password PASSWORD http://NAMASITE/private-svn/NAMAREPO/

USERNAME dan PASSWORD adalah yang Anda pilih ketika membuat repositori SVN.

Seharusnya pada saat ini file-file website terkopikan ke document root Anda, yang kini merupakan working directory SVN.

9. Sekarang, setiap kali commit ke repositori SVN, SVN akan mengeksekusi file post-commit, yang akan menjalankan skrip svnup.php, yang akan mengeksekusi perintah "svn up" untuk memperbarui document root Anda. Semuanya otomatis!

Link terkait


Kata kunci

autoexport, auto export, wwwdir, www dir, hook, automatic


Navigasi

Feedback

Artikel Popular

  • selengkapnya...
  • Artikel Terbaru

  • selengkapnya...
  • Hak cipta © 2006-2010 PT Master Web Network Konten ditulis dan dikoleksi oleh staf MWN. Komentar ditulis oleh pembaca. MWN tidak bertanggung jawab atas akurasi dan/atau kekinian konten/komentar.