2017-12-06 4 views
1

나는 Heroku를 밀고 거기에 응용 프로그램을 구축하고있는 저장소가 있습니다.Heroku 빌드 디렉토리는 git repo가 ​​아니며, 머리에 무엇인가 필요합니다.

괜찮 으면 작동하지만 일부 tmp/9d3ec2fc13fca868bfb7c417c28fd79f 디렉토리에 빌드됩니다.

이제 버전 번호로 git 태그를 추가하는 git-revision-webpack-plugin이라는 npm 패키지를 사용하고 있습니다.

디렉토리가 실제로 git repo가 ​​아니므로 명령이 실패합니다. 이상적으로는, 나는 이것을 작동시키고 싶다. 최악의 경우, 태그와 버전 없이는 할 수 있지만 적어도 빌드 할 수 있어야합니다.

나는 더미 자식의 repo

과 NPM 패키지를 만들

git init

시도 실행에는 머리

fatal: Not a valid object name HEAD

가 없기 때문에 또한 작동하지 않았다

git describe --always --tags 머리에 무언가를 할당 할 수 있도록 수정하는 방법이 있습니까

답변

2

빌드 중에도 Heroku에서 git repo에 액세스 할 수 없습니다. git init을 실행하면 빈 저장소가 만들어 지지만 git에서 설명 할 수 있도록 SHA를 얻으려면 모든 파일을 추가하고 커밋해야합니다. 그럼에도 불구하고, 당신의 repo가 ​​GitHub에 로컬로, 그리고 당신이 Heroku에 밀어 넣는 것과 다른 것입니다.

불행히도 Heroku에서 git-revision-webpack-plugin이 효과가 없을 것이라고 생각합니다.

+0

감사합니다. 나는이 플러그인이 작동하도록 .git 폴더에 가짜 정보를 넣으려고합니다. git 주위에 빌드 된 도구 (Heroku)가 실제로 git repo에서 실행되는 내용을 가지고 있지 않다는 것이 이상하다는 것을 알게되었습니다. – ahskaus

+1

Heroku는 Git을 배포 도구로 사용하지만 내부적으로 Git 내부에 빌드되지 않습니다. 빌드는 repo의 tarball을 다운로드하고 (sans .git) 앱에서 새 dyno를 부팅하는 데 필요한 모든 새로운 tarball "slug"를 업로드합니다. –

+1

예. 방금'git init'으로 새로운 저장소를 만들고'.git' 폴더를 압축하여 repo에 넣고 빌드하기 전에 압축을 풀어 수정본 플러그인을 실행시킵니다. – ahskaus

관련 문제