Laravel and StartUp
Github
  • README
  • 개발
    • 라라벨 생태계
      • 라라벨 .env 내용을 Github Action test에 적용하기
      • 라라벨 발렛(Laravel Valet)에서 Node 실행하기
      • 라라벨 노바 훑어보기
      • 라라벨 노바의 Envoyer 배포의 실전
      • Envoyer에서 무중단 배포를 구현하는 방법
      • 라라벨이 애용하는 ::class 톺아보기
      • 라라벨에서의 버전의 의미
      • 라라벨 개발자를 위한 .aliases 파일
      • 라라벨 프로젝트를 만드는 두가지 방법 비교
    • 개발 팁
      • MySQL 9로 업데이트할 때 로그인 이슈
      • svn 저장소를 git으로 이전하기
      • CakePHP2를 PHP 8에서 쉽게 사용하기
      • 베스트 깃(Git) 커맨드
      • 퍼미션 에러없이 PHP를 구동하기 위한 서버 세팅법
      • PHP 스크립트를 php 명령어 없이 사용하는 법
      • 국제화의 필수 익스텐션, NumberFormatter
      • 라라벨에서 뷰헬퍼를 만들어 봅시다
    • 스타트업 팁
      • PHP 코딩 가이드라인
      • 배포 가이드라인
      • 기술 스택(Tech Stacks)
      • 기술 소양
      • 최신 IT 컴퍼니 트랜드
    • Knowledge Acquisition
      • Error 혹은 Warning
      • NumberFormatter class example
      • Exception + Error = Throwable Tree in PHP 7 over
      • Coding Style Preset
      • Programming Case Types
  • 협업과 비즈니스
    • 협업
      • 이메일 협업
    • 비즈니스
      • 서비스x스토어
      • 발주입고 프로세스
      • 재고월마감 프로세스
      • 재고조정 프로세스
Powered by GitBook
On this page
  • Youtube API
  • Laravel Nova

Was this helpful?

Edit on GitHub
  1. 개발
  2. 라라벨 생태계

라라벨 .env 내용을 Github Action test에 적용하기

Previous라라벨 생태계Next라라벨 발렛(Laravel Valet)에서 Node 실행하기

Last updated 1 year ago

Was this helpful?

깃헙 액션으로 테스트를 구동할 때 .env의 외부키가 공개되는 이슈가 있을 수 있습니다. 예를 들어서 Youtube API에 접근하거나 Laravel Nova에 접근하기 위해서는 키가 필요한데요, 경우에 따라서 키를 사내에 혹은 외부에 공개할 수 없습니다.

이 경우 배포용 .env에 키를 넣지 않고 깃헙 설정에 secrets에 별도로 키를 저장할 수 있습니다.

본 팁에서는 유튜브와 Laravel Nova 두가지 시나리오를 설명합니다.

Youtube API

테스트용 설정파일인 .env.testing 에 키를 넣습니다.

YOUTUBE_API_KEY=

깃헙 액션의 테스트 스크립트에 아래의 코드를 추가합니다.

      - name: Execute tests (Unit and Feature tests) via PHPUnit
        env:
          DB_CONNECTION: sqlite
          DB_DATABASE: database/database.sqlite
          YOUTUBE_API_KEY: ${{ secrets.YOUTUBE_API_KEY }}
        run: vendor/bin/phpunit ./tests

마지막으로 YOUTUBE_API_KEY 를 깃헙에 저장합니다. 해당 메뉴는 Setting > Secrets and variables > Actions 을 클릭하면 되며, https://github.com/<아이디>/yt/settings/secrets/actions 로 직접 접근할 수 있습니다.

이제 깃헙 액션을 실행할 때 해당 키가 적용되어 테스트를 할 수 있습니다.

Laravel Nova

깃헙에서 테스트를 하기 위해서는 composer install을 실행하는데요, Laravel Nova의 키가 없으면 테스트를 진행할 수 없습니다. 따라서, Laravel Nova도 Youtube API와 마찬가지로 키를 위의 이미지에서 표기된 것 처럼 NOVA_USERNAME과 NOVA_PASSWORD를 저장합니다.

Laravel Nova에서 키를 확인하는 것은 3가지 방법이 있습니다.

  1. .env에 NOVA_USERNAME과 NOVA_PASSWORD를 저장한다.

  2. auth.json에 NOVA_USERNAME과 NOVA_PASSWORD를 저장한다.

  3. http 인증 프로토콜을 이용해서 Laravel Nova 저장소에 접근한다.

인증 내용을 깃헙에 저장했다면, 아래와 같이 테스트 스크립트를 수정합니다.

      - name: Install Composer dependencies
        run: |
          composer config "http-basic.nova.laravel.com" "${{ secrets.NOVA_USERNAME }}" "${{ secrets.NOVA_PASSWORD }}"
          composer install --prefer-dist --no-interaction --no-progress

CI 단계에서 이 방법으로 키를 공개하지 않을 수 있으며, Laravel Envoyer나 Laravel Forge에서도 이와 같은 방법으로 공개할 수 없는 키를 안전하게 시스템에 반영할 수 있습니다.

오늘도 라라벨과 함께 행복하세요.

자세한 내용은 문서를 참고하세요.

Laravel Nova Installation
Github secret screenshot