Heroku에 Git 하위 디렉토리 배포
Heroku의 집에는 없습니다.
Heroku에 앱을 배포하는 것은 충분히 스트레스입니다. 전체 리포지토리를 푸시하여 배포하려는 하위 디렉터리가 있는 경우 좋지 않은 시간을 보낼 수 있습니다.
전체 리포지토리를 배포할 수 없는 이유는 무엇입니까?
글쎄요, 우선 Heroku는 그것을 좋아하지 않으며 다음 오류를 표시하여 그 이유를 정확히 알려줍니다.
당신이 아니라 당신의 빌드팩입니다.
첫 번째 본능은 Heroku의 Dev Center에서 언급한 대로 node.js 서버에 적합한 빌드팩을 수동으로 설정하는 것이었습니다. 그러나 Heroku는 다음과 같이 말합니다.
기본적으로 이러한 빌드팩은 일치 항목이 감지되어 앱을 컴파일하는 데 사용될 때까지 이 순서대로 검색됩니다.
따라서 빌드팩을 수동으로 설정할 필요가 없습니다(어쨌든 그렇게 편집증에 걸렸습니다).
heroku buildpacks:set heroku/nodejs
이제 수동으로 빌드팩을 Node.js로 설정하고 이 나쁜 소년을 Heroku로 푸시하려고 했습니다(물론 커밋한 후). 손가락이 교차
유감이야 친구
운 좋게도 오류는 문제가 무엇인지에 대한 단서를 제공합니다. 이 경우 여러 디렉터리가 있는 저장소를 배포하려는 것 같습니다. Heroku'sDev Center를 다시 보면 다음과 같이 표시됩니다.
Heroku Node.js 지원은 응용 프로그램의 루트 디렉토리에
package.json
파일이 있는 경우에만 적용됩니다.많이 빨개졌네요...
그래서 내 경우에는
package.json
파일이 있는 하나의 특정 하위 디렉터리를 배포하려고 합니다. 그러나 대신에 package.json
파일이 없고 사실상 Heroku 버그를 만드는 전체 저장소를 배포하려고 합니다.수정
pls를 무엇을 해야할지 말해 줄 수 있습니까?
확신하는! 모든 Heroku 전제 조건을 완료했다고 가정하여 시작하겠습니다.
npm install -g heroku
heroku login
heroku create
heroku git:remote -a my-app
Heroku가 내 앱에 임의의 이름을 부여하여 변경하기로 결정했습니다.
heroku apps:rename my-new-app-name
이름은 무엇입니까?
이름을 바꾸면 git 리모컨을 업데이트해야 합니다.
heroku git:remote -a my-new-app-name
이제 건초 제작자를 위해.
git subtree push --prefix path/to/subdirectory heroku main
한숨을 쉬다
그것 참 부끄럽 네. 작업 트리의 최상위 수준에서 이 명령을 실행해야 하는 것 같습니다. 몇
cd ..
의 나중에 그리고...지금까지 잘생겼어...
Heroku 당신은 너무 똑똑 bb
성공!
이제 하위 디렉토리를 Heroku에 성공적으로 배포했습니다! 읽어 주셔서 감사합니다!
추가 크레딧: npm-scripts
아직 읽고 계시다면 감사합니다. 내 앱의 프런트엔드와 백엔드를 변경하고 Heroku에 배포하고 싶다고 가정해 보겠습니다. 글쓰기...
git subtree push --prefix path/to/subdirectory heroku main
...내 취향에 비해 너무 장황하므로 내 백엔드 저장소
package.json
에 npm 스크립트를 추가하겠습니다.{
"scripts": {
//...
"build:ui": "rm -rf build && cd ../../part2/phonebook-frontend && npm run build --prod && cp -r build ../../part3/phonebook-backend",
"deploy": "git subtree push --prefix part3/phonebook-backend heroku main",
"deploy:full": "npm run build:ui && git add . && git commit -m uibuild && git push && npm run deploy",
"logs:prod": "heroku logs --tail"
}
}
npm run build:ui
는 프런트엔드를 구축한 다음 백엔드 저장소 아래 프로덕션 버전을 복사합니다. npm run deploy
현재 백엔드를 Heroku로 푸시합니다. npm run deploy:full
는 두 가지를 결합하고 백엔드 저장소를 업데이트하는 데 필요한 git 명령을 포함합니다. npm run logs:prod
는 디버깅에 유용한 heroku 로그를 보여줍니다. 스크립트
build:ui
및 deploy
의 경로는 파일 시스템의 리포지토리 위치에 따라 다릅니다.리소스 및 외침
Reference
이 문제에 관하여(Heroku에 Git 하위 디렉토리 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/crrojas88/deploying-a-git-subdirectory-to-heroku-23ld텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)