Laravel9 ci gitaction 사용하기

dev·2022년 4월 18일
0
post-thumbnail

Laravel9 CI gitub Action 적용기

우선 적용하기에 앞서

Travis ci, jenkins, gitub Action 등 이 있었습니다.

jenkins는 호스팅을 직접해야하고 설정하는데 구축하는데 시간이 오래 걸릴꺼 같아 후보에서 제외시켰습니다.

Travis은 설정은 간단해보였습니다. 하지만 private 은 무료가 아니여서 제외 시켰습니다.

gitub Action 으로 진행하였습니다.

1. .exe.ci 파일 생성

# database
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=password코드를 입력하세요

2. .github/workflows laravel.yml

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]
name: CI
jobs:
  phpunit:
    runs-on: ubuntu-latest
    container:
      image: kirschbaumdevelopment/laravel-test-runner:8.1 
    services:
      mysql:
        image: mysql:5.7
        env:
          MYSQL_ROOT_PASSWORD: password
          MYSQL_DATABASE: test
        ports:
          - 33306:3306
        options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
 
    steps:
    - uses: actions/checkout@v1
      with:
        fetch-depth: 1
 
    - name: Install composer dependencies
      run: |
        composer install --no-scripts
 
    - name: Prepare Laravel Application
      run: |
        cp .env.ci .env
        php artisan key:generate
 
    - name: Run Testsuite
      run: vendor/bin/phpunit tests/

3. 성공

테스트 케이스가 하나만 존재하는 데 45초나 걸렸습니다.

그 이유가
img -> composer install -> test 진행 방식이여서 install 할때 많이 지연 되는 듯 합니다.

나중에 개선 방향을 찾아볼 필요성이 있을 것으로 보입니다.

profile
화이팅!

0개의 댓글