Setelah menuliskan beberapa tutorial mengenai pengembangan website, di tutorial kali ini kita akan belajar cara mendeploy website menggunakan Git FTP. Git FTP ini saya gunakan ketika belajar deploy salah satu project saya untuk keperluan demo di salah satu penyedia hosting yang kebetulan hanya menyediakan FTP untuk upload project.

Deploy website melalui FTP itu mudah. Kita hanya perlu upload project melalui FTP Client, atur konfigurasi dan website sudah bisa diakses. Jarang ada kendala ketika deploy project kita untuk pertama kali. Namun kendala itu muncul ketika kita ingin memperbaharui website. Kita harus upload satu per satu file yang sudah diperbaharui ke server. Ada perubahan, pilih satu per satu file lalu upload. Begitulah seterusnya. Untuk developer yang sudah terbiasa menggunakan git dan menerapkan CI CD untuk proses deployment project, tentu ini terasa melelahkan. Dari kendala ini muncul ide, ada ga sih cara deploy seperti menggunakan git, tapi melalui FTP. Dan setelah googling akhirnya ketemu reponya git ftp.

Pada tutorial ini, kita akan belajar bagaimana cara menggunakan git ftp untuk deploy website sederhana. Dimulai dari proses instalasi git-ftp sampai deploy website. Yuk kita mulai!

Prasyarat

Ada beberapa hal yang perlu diperhatikan sebelum mengikuti tutorial ini.

  1. OS yang digunakan pada saat tutorial ini dibuat adalah Ubuntu. Jadi karena ada keterbatasan dalam sisi OS, saya belum mencoba di OS lain.
  2. Git. Karena git-ftp ini ftp client yang menggunakan git, pastikan git sudah terinstall ya. Jikalau belum, kamu bisa baca Tutorial install git sampai langkah 1 saja.
  3. Koneksi Internet. Dari proses instalasi git ftp sampai tahapan deploy, kita akan menggunakan koneksi internet.

Step 1: Instalasi Git FTP

Langkah pertama adalah menginstall git-ftp. Buka terminal lalu run command di bawah ini:

sudo apt install git-ftp

Tunggu sampai proses instalasi git-ftp selesai.

Untuk yang menggunakan OS selain ubuntu, cara instalasinya dapat dibaca di sini

Step 2: Persiapan project sederhana

Langkah selanjutnya adalah membuat project sederhana. Kita buat direktori project menggunakan command

mkdir tes-deploy

Selanjutnya kita masuk ke direktori project yang baru saja kita buat.

cd tes-deploy

Setelah masuk ke direktori project, kita buat satu file index.php.

echo "<?php echo 'hello world';?>" > index.php

Ya, kita akan menggunakan project legendaris Hello World untuk percobaan deploy menggunakan git ftp.

Selanjutnya kita init local repositori dan kita commit file yang baru saja kita buat.

git init

git add .

git commit -m "add index.php"

Baik project sederhana kita siap untuk kita deploy.

Step 3: Deploy menggunakan git-ftp

Untuk mendeploy menggunakan git-ftp, tentu kita perlu akun FTP. Kalau kita menggunakan shared hosting yang memakai cpanel, biasanya akun ftp ini ada di dalam menu FTP Account. Sebagai contoh, misalkan kita punya akun ftp dengan detail seperti ini.


FTP Account:
FTP Username:           ftp-user
FTP Password :          secr3t
FTP Hostname:           ftp.example.net
FTP Port (optional):    21

Nah username, password ,hostname dan port ini kita gunakan untuk pengaturan konfigurasi git-ftp. Selain itu kita juga tentukan target direktori untuk deploy, misalnya target direktori kita itu public_html.

Selanjutnya kita atur konfigurasi git-ftp, kita sesuaikan dengan ftp akun kita. Buka kembali terminal, lalu kita run command ini.

# Setup
git config git-ftp.url ftp.example.net/public_html
git config git-ftp.user ftp-user
git config git-ftp.password secr3t

Ya, konfigurasinya kita sesuaikan dengan akun FTP kita. Untuk url, kita arahkan ke target direktori hostname/target-direktori yang ada di web kita, yaitu ftp.example.net/public_html. Pada tahapan ini Semua konfigurasi git-ftp sudah selesai.

Sekarang kita coba inisialisasi git-ftp dan deploy project kita untuk pertama kali, buka kembali terminal lalu run command ini.

git ftp init

Command di atas akan mengupload semua file yang sudah dicommit sebelumnya. Oleh karena itu lama deploynya itu tentu akan bergantung kepada jumlah filenya, semakin banyak filenya akan semakin lama waktu yang diperlukan untuk proses deploy semua filenya.

Step 4: Update dan deploy

Kawan, selanjutnya kita coba menambahkan file baru di project sederhana kita. Buka terminal lalu run command ini.

echo "<?php echo 'ini file baru';?>" > new.php

Selanjutnya kita commit file yang baru saja kita buat.

git init

git add new.php

git commit -m "add new.php"

Setelah perubahan di project kita sudah kita commit, kita bisa deploy kembali project kita. Buka kembali terminal lalu run command di bawah ini.

git ftp push

Nah setelah kita run command di atas, project kita kembali dideploy menggunakan git-ftp. Kita bisa lihat hanya file baru saja yang diupload ke server. Jadi untuk ke depannya, ketika kita akan memperbaharui project kita, kita bisa upload file yang diperbaharui saja menggunakan git ftp.

Untuk alur proses deploynya, setiap kita akan melakukan deploy, kita tambahkan file yang ditambahkan ataupun yang diperbaharui menggunakan command git add, lalu kita commit menggunakan git commit, setelah itu kita push menggunakan git ftp push. Rangkaian proses ini akan selalu kita jalankan.

Fix error

Beberapa waktu setelah saya mencoba git ftp, ternyata ada error. Error ini tidak terjadi ketika pertama kali saya menggunakan git-ftp. Ketika push menggunakan command git ftp push terdapat error seperti ini.

Unknown SHA1 object, make sure you are deploying the right branch and it is up-to-date.
Do you want to ignore and upload all files again? [y/N]: y
fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths
There are no files to sync.

Cara fix error di atas adalah menambahkan pengaturan untuk git ftp. Buka terminal lalu run command.

git config git-ftp.syncroot .

Kesimpulan

Pada tutorial ini, kita sudah belajar cara deploy website ke server menggunakan git ftp. Dengan menggunakan git ftp ini kita bisa deploy web seperti menggunakan git dan sangat memudahkan kita ketika ada pembaharuan di website kita, karena hanya akan mengupload file yang diperbaharui saja pada saat deploy.

Deploy menggunakan git ftp ini adalah solusi alternatif untuk deploy website ke server yang kebetulan hanya menyediakan ftp dan tidak tersedia SSH. Solusi ini sangat memudahkan untuk developer yang sudah terbiasa menggunakan git.

Semoga bermanfaat.

Referensi

Gun Gun Priatna
Software Engineer, Content Writer and Founder qadrlabs.com
Related Article
Komentar

blog comments powered by Disqus