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