Testing Laravel: Setup Codeship CI untuk Private Project
Bismillahirrahmanirrahim.
Kali ini kita menyambung pembahasan seputar Continuous Integration lagi. Sebelumnya kita sudah sempat membahas cara setup layanan Travis CI untuk project open-source. Nah, karena karena kebanyakan project kita berupa private repo, maka kali ini kita bahas tentang Setup Codeship CI untuk private project juga (dengan hosting source-code di BitBucket).
Sebagaimana yang kita bahas sebelumnya, layanan Codeship CI ini sangat cukup untuk kebutuhan freelance web developer (utamanya yang single fighter). Untuk akun gratisnya (Codeship Basic), kita mendapatkan 100 builds per bulan dengan jumlah project unlimited. Artinya, jika setiap hari kita melakukan push ke BitBucket 2 kali (misal siang dan sore). Maka sehari kita akan men-trigger 2 build, atau lebih kurang 60 build per bulan. Cukup kan? :)
Baik, pada artikel ini ada 4 langkah setup Codeship CI untuk private project Laravel di Bitbucket:
- Push source-code ke BitBucket
- Login ke Codeship.com dengan akun BitBucket
- Buat project baru pada Codeship untuk project kita
- Trigger “First Build” layanan Codeship CI
Kita mulai
Jika belum memiliki project untuk praktek, silakan teman-teman clone project Laravel-TDD ini ke localhost, kemudian buat project private baru di BitBucket, push source-code nya ke BitBucket.
1. Push source-code Project ke Private repo Bitbucket
Pertama, pastikan source-code project laravel kita sudah disetor ke BitBucket dengan Access level private repository. Seperti yang tampil pada gambar di bawah ini.
Seperti kita lihat, pada list commit ini, di paling kanan terdapat kolom Builds. Kolom itu yang nanti akan terisi ketika layanan Codeship mendapatkan hasil passed
atau failed
.
2. Login ke situs Codeship.com dengan akun BitBucket
-
Kunjungi situs codeship.com.
-
Klik “SIGN UP FOR FREE”.
-
Login dengan akun BitBucket.
-
Ikuti langkah selanjutnya hingga kita mendapatkan tampilan seperti gambar di bawah (menu Projects).
3. Buat project baru pada Codeship
-
Klik tombol “New Project” pada halaman Projects.
-
Klik icon “Connect to Bitbucket”.
-
Masukkan url git repo BitBucket kita, contoh di saya:
git@bitbucket.org:nafiesl/laravel-tdd.git
. -
Klik “Connect”.
-
Klik “Select Basic project”.
-
Kita lanjutkan dengan mengisi form Setup Commands dengan script berikut :
Silakan copy script nya :
phpenv local 7.0
echo "memory_limit = 512M" >> /home/rof/.phpenv/versions/$(phpenv version-name)/etc/php.ini
# install dependencies
COMPOSER_HOME=${HOME}/cache/composer
composer install --prefer-dist --no-interaction
# set up environment variables
touch .env
echo "APP_ENV=testing" >> .env
echo "APP_DEBUG=true" >> .env
echo "APP_KEY=base64:sQPFP80eWJQGo0SDPc+M2Tib+GLUocRYRw4RLsfM27I=" >> .env
Kemudian isikan Test Commands dengan perintah PHPUnit : vendor/bin/phpunit
Klik Save and go to dashboard.
Sip, sampai di sini selesai proses Setup project Codeship CI. Saat ini codeship standby menunggu commit baru yang dipush ke repo BitBucket kita.
4. Trigger “First Build”
Untuk membuat layanan Codeship CI mulai bekerja, kita coba membuat commit pada repo dengan cara meng-edit file README.md
langsung di BitBucket. Pada repo project ini, sebelumnya kita menggunakan badge status Travis CI pada file README.md
, kita coba hapus saja bagian badge tersebut. Kemudian langsung commit perubahannya.
Sekarang kita lihat layanan Codeship CI langsung bekerja untuk menjalankan build dan test hingga selesai.
Sip, proses Build dan Test selesai dan SUCCESS
. Kemudian kita bisa lihat source-code kita di BitBucket menu list commit. Di kolom Builds paling kanan kita melihat 1 of 1 passed.
Selesai praktek kita setup Codeship CI untuk Private Project Laravel di BitBucket.
Kesimpulan
Kita coba simpulkan pembahasan kita pada artikel ini:
- Layanan Codeship CI yang gratis (Codeship Basic) sangat cukup untuk kebutuhan freelance web developer yang ingin menggunakan Coontinuous Integration pada project-project privatenya.
- Cara setup Codeship CI agak berbeda dengan setup layanan Travis CI.
- Cara kerja layanan Codeship CI serupa dengan Travis CI, yaitu bekerja setiap menerima push dan pull-request di repo BitBucket.
Baik, demikian teman-teman, mudahan bermanfaat pembahasan kita tentang setup Codeship CI untuk Private Project. Jika ada yang ingin didiskusikan, silakan tuliskan di kolom komentar.
Terima kasih atas waktunya.