흥미로운 문제가있어 원인을 찾을 수 없습니다. 여기 이야기가 있습니다.NodeJS Lambda 빌드 - 동일한 소스, 다른 SHA 해시
제 목표는 오케 스트레이터로 CircleCI를 사용하여 Terraform으로 람다 함수를 관리하는 것입니다. 프로세스는 다음과 같다 : -> CircleCI 구축 (NPM & & 지퍼를 설치) -
GitHub의 저장소 S3에> AWS S3 동기화 ZIP -> Terraform가 S3에서 우편 번호를 집어 들고 - SHA이 다른 경우>, 람다에 배포 .
모두 하나의 작은 문제로 잘 작동합니다.
source_code_hash : 내가 GitHub의 저장소의 변경없이 두 번 전체 프로세스를 실행하는 경우, Terraform는 항상 새로운 SHA 해시를보고 "mx56e7pMbBdftYHes + pETvjFZInvKsP92vtZ5URqyJY ="=> "dhe66opfifDLEr7wI + Ie9UE6ioUiG8hTajuPhctA + W0 ="
어쨌든 npm install
프로세스의 어딘가에 문제가있는 것처럼 보입니다.이 프로세스는 언제나 항상 약간 다른 작업을 수행하므로 결과도 다릅니다. 나는 ZIPing 폴더가 문제를 일으킬 것이라고 생각하지 않는다. 간단하다. zip -r file.zip *
.
이 동작에 대한 설명은 무엇입니까?
동일한 ZIP 파일을 사용하여 테스트 해 보셨습니까? 패키지 잠금 파일이 있습니까? –
나는 "tests"와 "package lock file"이 무슨 의미인지 모른다. 간단히'npm install'을 실행하고'npm test'를 실행 한 다음'zip -r file.zip *'을 실행하면 결과가 S3 버켓으로 전송됩니다. –
zip 파일에'--no-extra' 인수를 추가하십시오. –