모노 리포지토리에서 AWS Lambda 함수 배포
내 워크플로우
이Github Action를 사용하여 단일 리포지토리에서 변경된 파일을 기반으로 AWS Lambda 함수를 배포합니다.
많은 분들이 유용한(CI/CD 포함) 훌륭한serverless 프레임워크를 사용하고 있다는 것을 알고 있습니다. 그러나 더 작은 사용 사례(예: 개인 Lambda 함수)의 경우 사용하지 않는 것이 더 쉽다는 것을 알았습니다.
하지만 사용하지 않으면 비용이 발생하므로 이 비용을 없애고 싶어서 이 액션을 만들었습니다.
제출 카테고리:
이것은 DIY 배포 항목입니다.
Yaml 파일 또는 코드 링크
블롬바드 / 람다-모노레포
모노 리포지토리에 AWS Lambda 함수를 배포하기 위한 GitHub 작업
AWS 람다 모노 리포지토리
이Github Action를 사용하여 모노 리포지토리에서 변경된 파일을 기반으로 AWS Lambda 함수를 배포합니다.
전제 조건
리포지토리의 secrets에서 AWS 자격 증명을 설정합니다.
filters.yml
파일을 생성하고 .github/worklows
에 넣습니다: .github/worklows/filters.yml
파일의 구조는 다음과 같아야 합니다.LambdaFunction1
- 'LambdaFunction1/**/*'
LambdaFunction2
- 'LambdaFunction2/**/*'
예시
on push branches: - master jobs: deploy: name: Deploy to AWS Lambda runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - 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: ${{ secrets.AWS_REGION }} - uses: dorny/[email protected] id: filter with: filters: .github/filters.yml - uses: blombard/lambda-monorepo@master with: lambda-functions: '${{ toJson(steps.filter.outputs) }}' zip-params: '*.js *.json src/ node_modules/…
If you want to use this action in your workflow here is an example :
Set your AWS credentials in the secrets of your repo:
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_REGION
Create a filters.yml
file and put it in .github/worklows
: .github/worklows/filters.yml
The structure of the file should be :
LambdaFunction1:
- 'LambdaFunction1/**/*'
LambdaFunction2:
- 'LambdaFunction2/**/*'
main.yml
on:
push:
branches:
- master
jobs:
deploy:
name: Deploy to AWS Lambda
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- 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: ${{ secrets.AWS_REGION }}
- uses: dorny/[email protected]
id: filter
with:
filters: .github/filters.yml
- uses: blombard/lambda-monorepo@master
with:
lambda-functions: '${{ toJson(steps.filter.outputs) }}'
zip-params: '*.js *.json src/ node_modules/'
alias-name: 'production'
layer-name: 'MyLayer'
추가 리소스
이 작업은 Github 작업을 기반으로 합니다.
정보
이것은 GH 작업을 구축하려는 첫 번째 시도이자 첫 번째 Dev 게시물입니다. 당신이 그것을 좋아하기를 바랍니다! 그리고 당신에게 유용하다면 주저하지 말고 행동을 개선하십시오.
Reference
이 문제에 관하여(모노 리포지토리에서 AWS Lambda 함수 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/btl/deploy-aws-lambda-functions-from-a-monorepo-2048텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)