MongoDB를 사용하고 Heroku에 배치하는 NodeJS 애플리케이션을 빌드 중입니다.
east migration library을 사용 중이며 배포 프로세스 중에 마이그레이션 명령을 실행하고 싶습니다.Heroku에서 NodeJS 배포 프로세스 사용자 정의
어떻게하면됩니까?
빌드 팩을 포크해야합니까? 아니면 더 쉬운 방법이 있습니까?
MongoDB를 사용하고 Heroku에 배치하는 NodeJS 애플리케이션을 빌드 중입니다.
east migration library을 사용 중이며 배포 프로세스 중에 마이그레이션 명령을 실행하고 싶습니다.Heroku에서 NodeJS 배포 프로세스 사용자 정의
어떻게하면됩니까?
빌드 팩을 포크해야합니까? 아니면 더 쉬운 방법이 있습니까?
쉬운 방법이 있습니다.
응용 프로그램이 Heroku에 배포 될 때 Heroku는 모든 종속성을 설치하기 위해 npm install --production
을 실행합니다. 완료되면 postinstall
스크립트가 실행됩니다. package.json
파일에 postinstall
스크립트를 정의 할 수 있습니다. 이 스크립트에서는 마이그레이션을 실행할 수 있습니다.
아래는 내 Node on Fire 기반 프로젝트에서 사용하고있는 스 니펫입니다. Heroku에 배포하면 grunt build
및 grunt release
이 실행됩니다 (그렇지 않은 경우 npm install
이 실행 됨). 귀하의 경우에는
{
..
"scripts": {
"postinstall": "./node_modules/grunt-cli/bin/grunt build && ./node_modules/grunt-cli/bin/grunt release"
},
..
}
다음 값 ./node_modules/east/bin/east migrate
와 postinstall
를 만들 수 있습니다. 이것은 Heroku에서 마이그레이션을 실행해야합니다. Heroku가 devDependencies
을 설치하지 않으므로 east
이 dependencies
에 나열되고 devDependencies
이 아니라고 확인해야합니다. 종속성이 Heroku에 절대적으로 설치되지 않으므로 (기본 빌드 팩인 경우) postinstall
스크립트에 전역 종속성을 사용할 수 없습니다.