— GitHub, Laravel, CI/CD — 1 min read
GitHub Actions ialah servis daripada GitHub untuk melakukan sesuatu aliran kerja dengan secara automatik ke atas event yang telah dinyatakan.
Sebagai contoh, apabila kita membuat pull request kepada branch master. Ia akan triggered GitHub Action yang telah di setup untuk menjalankan apa-apa kerja seperti Testing. Antara kebaikkanya ialah:
Untuk fahami lebih lanjut mengenai GitHub Actions, boleh layari blog ini.
Jadi, macam mana kita nak integrate GitHub Actions dengan Laravel Project kita?
Keperluan:
Buka Repository anda dan click Actions tab. Di actions page, akan listkan pelbagai workflow, anda perlu mencari workflow Laravel, dan click Set up this workflow.
GitHub akan membuka page baharu dan generate code untuk Laravel workflow.
1on:2 push:3 branches: [ master ]4 pull_request:5 branches: [ master ]
Code atas ini untuk kita kasi tahu GitHub Actions, untuk jalankan kerja apabila ada push event dan pull request event ke branch master. Anda juga boleh tambah sebanyak mana branch yang anda mahu GitHub Actions dijalankan.
1runs-on: ubuntu-latest
Di runs-on anda boleh nyatakan Operating System apa yang anda nak test ini run. Kalau nak guna windows boleh tambah windows-latest. Code seterusnya macam biasa kita selalu gunakan untuk setup Laravel project, dan run PHPunit.
Kita boleh terus commit tanpa ubah apa-apa. Selepas sahaja kita commit, kita boleh buka balik actions tab di repository kita dan kita boleh lihat laravel-tests sedang run. Test ini telah run sebab kita commit new changes and push to master branch.
Selepas sahaja kita create pull request kepada master, kita dapat lihat laravel-tests in progress. Kita boleh click details
untuk lihat lebih lanjut progress testing kita. Boleh lihat diatas, first test saya failed di mana ia menunjuk symbol pangkah.
Saya perlu fix balik code saya dan push balik. Selepas ia berjaya, kita boleh terus merge pull request tanpa rasa ragu-ragu. Mudahkan?
Semoga artikel ini dapat membantu anda untuk setup Laravel Test menggunakan GitHub Action dengan cara paling mudah. Untuk belajar lebih advance mengenai GitHub Actions, seperti menggunakan MySQL atau menggunakan pelbagai Laravel version boleh rujuk artikel ini.
Sebarang pertanyaan boleh dm saya di Twitter @MuhdFrhan