Thumbnail

Implementasi CI di Laravel

Introduction

Pada artikel sebelumnya saya sudah menjelaskan dan mengimplementasikan konfigurasi CI CD menggunakan github actions dengan web server yang kita pakai adalah nodeJS, nah pada kesempatan kali ini saya akan melakukan implementasi CI lagi tapi menggunakan framework / aplikasi di Laravel.

Prepare

Baca 3 artikel sebelumnya, agar memudahkan untuk memahaminya :

  • Account GitHub untuk dokumentasi atau Guide github actions klik link ini.

Implementasi CI di Laravel

Create Workflows & Testing Integration Laravel

Nah Pertama kali kita membuat workflow , kalian bisa membuatnya secara manual atau tinggal set up workflow dari github actions dengan syarat yaitu pilih “Laravel” .

  • Kemudian kita akan adjust scriptnya dan delete beberap script yang tidak kita butuhkan.

a. Nama Command Github kita

b. Adalah PHP version yang kita install di server disini saya kebetulan menggunakan versi 7.4.

  • Dan script workflownya kurang lebih seperti ini :
name: Gunawan cicd

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  Testing:

    runs-on: ubuntu-latest

    steps:
    - uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e
      with:
        php-version: '7.4'
    - uses: actions/checkout@v2
    - name: Copy .env
      run: php -r "file_exists('.env') || copy('.env.example', '.env');"
    - name: Install Dependencies
      run: composer update -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
    - name: Generate key
      run: php artisan key:generate
    - name: Directory Permissions
      run: chmod -R 777 storage bootstrap/cache
    - name: Execute tests (Unit and Feature tests) via PHPUnit
      run: vendor/bin/phpunit

  

Kemudian jangan lupa commit

  • Dan kemudian check digithub actions apakah integrationya berhasil dan disini juga ada 2 testing basic dari laravel sendiri dan testing yang sudah kita buat berhasil mengintegrasikan laravel dengan github actions.

Selamat mencoba.

Leave a Reply

Your email address will not be published. Required fields are marked *