Nafies Luthfi

Life will always feel wonderful if we always think positively.

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:

  1. Push source-code ke BitBucket
  2. Login ke Codeship.com dengan akun BitBucket
  3. Buat project baru pada Codeship untuk project kita
  4. 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.

Private Repo on BitBucket

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
  1. Kunjungi situs codeship.com.

  2. Klik “SIGN UP FOR FREE”.

  3. Login dengan akun BitBucket.

    Sign up codeship.com

  4. Ikuti langkah selanjutnya hingga kita mendapatkan tampilan seperti gambar di bawah (menu Projects).

    List Project codeship.com

3. Buat project baru pada Codeship
  1. Klik tombol “New Project” pada halaman Projects.

  2. Klik icon “Connect to Bitbucket”.

    New Project codeship.com

  3. Masukkan url git repo BitBucket kita, contoh di saya: git@bitbucket.org:nafiesl/laravel-tdd.git.

  4. Klik “Connect”.

    New Project codeship.com

  5. Klik “Select Basic project”.

    New Project codeship.com

  6. Kita lanjutkan dengan mengisi form Setup Commands dengan script berikut :

New Project codeship.com

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

New Project codeship.com

Klik Save and go to dashboard.

New Project codeship.com

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.

Commit untuk trigger Codeship CI

Sekarang kita lihat layanan Codeship CI langsung bekerja untuk menjalankan build dan test hingga selesai.

Codeship CI Bekerja

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.

Build pass pada commit

Selesai praktek kita setup Codeship CI untuk Private Project Laravel di BitBucket.

Kesimpulan

Kita coba simpulkan pembahasan kita pada artikel ini:

  1. Layanan Codeship CI yang gratis (Codeship Basic) sangat cukup untuk kebutuhan freelance web developer yang ingin menggunakan Coontinuous Integration pada project-project privatenya.
  2. Cara setup Codeship CI agak berbeda dengan setup layanan Travis CI.
  3. 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.