2016-12-26 1 views
0

CLI를 사용하여 Rails 응용 프로그램을 Elastic Beanstalk에 배포하려고합니다. 레일 앱은 고급 (자산 편집, DB 마이그레이션 등)을 배치합니다. 그러나 bower install을 실행할 수 없습니다. sudo npm install -g bower을 실행 해 보았지만 \ opt에 설치되지만 bower 명령을 실행하려고하면 bower가 시스템에 설치되어있는 것으로 인식하지 못합니다.npm 및 Bower 자동 실행 중에 Rails 응용 프로그램을 Elastic Beanstalk에 배포

이 제 질문은 다음과 같습니다

한 이유는 내 응용 프로그램 디렉토리에서 접근 이물되지 않음)

? 2) EB가 자동으로 rake bower:install으로 실행되도록하려면 어떻게해야합니까? (자산 파이프 라인과 호환되도록 bower-rails 보석을 사용하고 있습니다)? 3) EB가 자동으로 npm을 설치하여 파트 2가 위에 작동하도록하려면 어떻게합니까?

고맙습니다. 제 질문은 의미가 있습니다. (AWS에 비해 처음)

답변

0

더 나은 해결책을 발견했습니다. Bower Rails gem을 사용하는 대신 루트 디렉토리에 표준 bower.json 파일을 사용하십시오. 다음 내용을 .ebextension/루비 settings.config :

그런 다음, 설정 파일 생성이 탄성 콩나무의 사전 후크를 배포 활용

files: 
    "/opt/elasticbeanstalk/hooks/appdeploy/pre/03_bower_install.sh": 
    mode: "000755" 
    owner: root 
    group: root 
    content: | 
     #!/usr/bin/env bash 
     echo "starting to install bower via npm" 
     sudo npm install bower -g --prefix /usr/local --allow-root 
     echo "starting to install git" 
     sudo yum install git 
     echo "changing directory to /var/app/ondeck" 
     cd /var/app/ondeck 
     ls 
     echo "running bower install" 
     sudo $(which bower) install --allow-root 

을하고, 이물의 설치 및 bower install 전에 를 실행할 수 있습니다 애셋 사전 컴파일.

+0

작동합니다. 그러나 설치하는 동안 eb throw'events.js : 72 throw er; // 처리되지 않은 '오류'이벤트가 발생했습니다. 누구나 고칠 수 있니? – Penguin