2017-03-29 13 views
0

github에서 지속적인 배포를 설정 한 웹 앱이 있습니다. 그러나 나는이 응용 프로그램에 몇 가지 작업자 역할을 추가 할 계획이고 나는 몇 가지 궁금해. Node.js를 사용하고 있습니다.github에서 webapp 및 worker를 Heroku에 배포

  • Procfile 웹 및 근로자 동력계의 #있을 것입니다 : 내 마음에

    는, 내가 좋아하는 디자인을했다.

  • 작업자 유형은 다른 배치 일 수 있지만, 다른 시작 명령이 있다는 것을 알 수 있습니다. 이 기능은 패키지 관리와 어떻게 작동합니까? 작업자 역할에 필요한 항목이 웹 응용 프로그램의 항목과 다른 경우 어떻게해야합니까?

제 질문은 무엇입니까?

  • 동일한 저장소를 사용하여 동일한 위치에서 작업자와 웹 코드가 유지되는 방식으로 구조화 할 수 있습니까? 내가 app.jspackage.json 파일을 가지고있는 루트에 /web/worker 폴더를 가질 수 있습니까? 그래서 나는 그것들을 같은 repo에 가지고 있지만 그들의 의존성은 다르게 관리됩니다. Heroku에 배포 할 때 어떻게하면됩니까?
  • 빌드 팩을 통해 웹 응용 프로그램에 설치 한 제 3 자 라이브러리가 있지만 작업자 역할에 있어야합니다. 이것들은 내가하고 싶은 계산의 일부이기 때문에 dequeue와 process를 위해 worker 역할을 사용할 계획입니다. 작업자 역할에 빌드 팩을 설치하는 방법은 무엇입니까?
  • Procfile을 통해이를 관리하는 올바른 방법은 무엇입니까? proc 파일에서 원하는 작업자 수를 설정하거나 커맨드 라인을 사용하여 확대/축소 할 필요가 있으며 그 옵션 만 가지고 있습니까?

답변

1

전적으로 가능합니다. 의존성을 관리하려면 글로벌 package.json 파일 만 있어야합니다. 작업자와 웹 역할을 사용하여 별도의 종속성을 관리 할 수 ​​없습니다. package.json으로 heroku가 내가 직면 한 문제인 Node.Js을 사용하고 있음을 감지 할만큼 충분하지 않은 경우; heroku/nodejs의 빌드 팩을 추가하면 좋을 것입니다. 어떤 buildpack이 설치되어 있더라도 worker 역할에서 사용할 수 있습니다. 다른 디렉토리에 관한

, 이것은 내가 지금 무엇을 가지고 :

/web 
/worker 
/package.json 
/Procfile 

을 그리고 내 procfile은 다음과 같습니다 시작 문제를 해결하기 위해 듯

web: npm start --prefix /web 
worker: npm start --prefix /worker 

. Procfile에서 # of dynos를 설정하는 방법은 없습니다.