我有一個有趣的問題,我不能指出我的手指在原因。這是故事。Building NodeJS Lambda - 同源,不同的SHA哈希
我的目標是使用CircleCI作爲orchestrator來管理使用Terraform的Lambda函數。過程是這樣的:
GitHub的倉庫 - > CircleCI建立(NPM安裝& &拉鍊) - > AWS S3同步ZIP至S3 - > Terraform從S3拾取ZIP - >如果SHA是不同的,部署到LAMBDA 。
這一切都工作得很好,有一個小問題。如果我運行的整個過程兩次,在GitHub的庫沒有變化,Terraform始終報告新的SHA哈希:
source_code_hash: 「mx56e7pMbBdftYHes + pETvjFZInvKsP92vtZ5URqyJY =」=> 「dhe66opfifDLEr7wI + Ie9UE6ioUiG8hTajuPhctA + W0 =」
看來問題在於npm install
過程的某個地方,這可能總是有些不同,因此結果也是不同的。我不認爲,那個ZIP文件夾會引起麻煩,這很簡單zip -r file.zip *
。
請解釋這種行爲?
你測試過使用相同的ZIP文件嗎?你有包鎖文件嗎? –
我會承認一個不知道你的意思是「測試」和「包鎖文件」。我只需運行'npm install',然後'npm test',然後運行'zip -r file.zip *',結果發送到S3存儲桶。 –
嘗試在您的zip文件中添加'--no-extra'參數。 –