GitHub Actions에서 Laravel 프로젝트 배포
8048 단어 GitHubActions라라벨
전제
여기 의 리포지토리에 GitHub Actions 워크플로를 추가하는 단계입니다.
절차
리포지토리에 보안 추가
AWS 환경에 배포하려면 AWS 자격 증명 정보가 필요하므로 대상 리포지토리에 다음 보안을 추가합니다.

배포를 위한 .env 파일 준비
GitHub Actions 환경에서 Laravel 프로젝트를 배포해야 하므로 배포를 위한
.env
파일을 준비합니다.> cp .env.example .env-deploy
# 環境に合わせて編集
GitHub Actions 워크플로 정의
다음은 워크플로의 정의입니다.
name: deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: cache vendor
id: cache
uses: actions/cache@v1
with:
path: ./vendor
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Composer install
if: steps.cache.outputs.cache-hit != 'true'
run: composer install -n --prefer-dist
- name: Copy .env
run: cp .env.deploy .env
- name: generate key
run: php artisan key:generate
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: '12.x'
- name: Install Dependencies
run: |
npm install serverless -g
npm install
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-1
- name: Deploy to Lambda
run: sls deploy
- name: Migrate
run: vendor/bin/bref cli --region=ap-northeast-1 laravel-dev-artisan -- migrate
- name: S3 sync
run: aws s3 sync public s3://kai-laravel-test/public --delete
고려 사항은 버킷 이름을
S3 sync
에 쓰는 점, AWS 자격 증명을 스테이지 (prod, dev)별로 전환하는 방법입니다.동작 확인
실제로 GitHub 리포지토리로 푸시하여 워크 플로가 작동하는지 확인합니다.



잘 작동했습니다. 배포 환경에 액세스해 봅니다.



잘 작동했습니다.
했어.
불필요해지면
손에 리포지토리를 복제하고 개발 및 배포 환경이 있으면 명령으로 삭제할 수 있습니다.
> aws s3 rm --recursive s3://kai-laravel-test/
> serverless remove
참고
kai-kou/laravel-sail-sample-projects at feature/deploy-aws-lambda
htps : // 기주 b. 코 m / 카이 코 / ぁらゔ ぇ l ㅇ ㅇ
GitHub Actions를 사용하여 AWS Lambda에 자동 배포
htps : // 이 m/호미네 s22/있어 ms/412d4에81b24804d75205
GitHub Actions에서 AWS S3에 자동으로 배포(정적 파일 디렉터리를 통째로 업로드) - Qiita
htps : // 코 m / 치 py / ms / 488 52411 A9 A 5765330f
Reference
이 문제에 관하여(GitHub Actions에서 Laravel 프로젝트 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kai_kou/items/1e61572e8f432bfd6579텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)