Serverless Framework에서 필요한 파일만 패키징하는 방법
Overview
섹션 제목: “Overview”Serverless Framework로 AWS Lambda를 배포할 때는 패키징 과정에서 업로드할 파일을 정리할 수 있다. 기본적으로는 프로젝트 루트의 파일이 대상이 될 수 있으므로, 필요 없는 파일을 제외하거나 필요한 파일만 포함하도록 설정하는 편이 효율적이다.
How to
섹션 제목: “How to”serverless.yml의 package.patterns에서 포함/제외 대상을 지정할 수 있다.
1) 특정 디렉토리 포함
섹션 제목: “1) 특정 디렉토리 포함”package: patterns: - 'dist/**'2) 특정 디렉토리 제외
섹션 제목: “2) 특정 디렉토리 제외”package: patterns: - '!node_modules/**'Example
섹션 제목: “Example”1) 모든 파일을 제외하고 dist만 포함
섹션 제목: “1) 모든 파일을 제외하고 dist만 포함”package: patterns: - '!**' - 'dist/**'이 방식은 빌드 결과물만 포함하고 싶을 때 자주 사용한다.
2) 일부 디렉토리만 제외
섹션 제목: “2) 일부 디렉토리만 제외”package: patterns: - '!test/**' - '!docs/**' - '!scripts/**'이 방식은 프로젝트 대부분은 포함하되, 테스트나 문서처럼 배포에 필요 없는 디렉토리만 빼고 싶을 때 사용한다.
Notes
섹션 제목: “Notes”1) !** 패턴 사용 시 주의
섹션 제목: “1) !** 패턴 사용 시 주의”!**로 모든 파일을 먼저 제외하면, 이후 필요한 디렉토리나 파일을 명시적으로 다시 포함해야 한다.- 예를 들어 빌드 산출물만 배포할 때는
dist/**같은 패턴을 반드시 다시 넣어야 한다.
2) 빌드 결과물만 포함하는 방식
섹션 제목: “2) 빌드 결과물만 포함하는 방식”- 런타임에 필요한 파일이 명확하다면, 전체를 포함한 뒤 일부를 빼는 방식보다 빌드 결과물만 포함하는 방식이 더 안전할 수 있다.