2014-09-15 4 views
2

필요한 데이터베이스 설정 및 자격 증명을 사용하여 Magento 용 local.xml 파일을 생성하는 PHP 스크립트를 만들었습니다. 응용 프로그램을 배포 한 후에이 작업을 실행해야합니다. 그러나 나는 그렇게 할 수있는 방법을 찾아 낼 수가 없다. 내 이해는 .ebextensions 디렉토리 안에 .config 파일을 만들어야한다는 것입니다. 누구나 해결책이 있습니까?AWS Elastic Beanstalk에 배포 한 후 PHP 스크립트 실행

+0

모든 기회를? –

답변

-3

예 아니요, .ebextensions입니다. 소스를 번들하는 방법을 보려면 sample applications을 살펴보십시오. 당신이 볼 수있는 PHP도 있습니다.

.ebextensions에 대한 자세한 내용은 this page을 참조하십시오.

다음은 사용자 지정 명령의 예입니다.

commands: 
    success_command: 
     command: echo "this will be ran after launching" 

당신이 복사 할 경우주의 및 YAML을 붙여 더블 형식을 확인 :이 .ebextensions 디렉토리에 sample.config라는 파일에 갈 수있다. 유사한 형식을 따르는 JSON을 사용할 수도 있습니다.

8

기술적으로 조쉬가 올바르지 않습니다. 문서 (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-commands)에 따르면 : 명령 섹션 .. "명령은 이름순으로 사전 순으로 처리되며 응용 프로그램과 웹 서버가 설정되고 응용 프로그램 버전 파일이 추출되기 전에 실행됩니다."

내가 아는 가장 가까운 "container_commands"섹션은 "container_commands의 명령은 이름순으로 사전 순으로 처리됩니다. 응용 프로그램 및 웹 서버가 설정되고 응용 프로그램 버전 파일이 추출 된 후에 실행됩니다 응용 프로그램 버전이 배포되기 전에. "

스크립트 배포를 실행하는 방법을 알지 못합니다. (그 이유는 여기에 나와 있습니다.)

+1

나는 그의 질문의 "배포 후"부분을 놓쳤습니다. –

6

Elastic Beanstalk은 배포 후 실행할 /opt/elasticbeanstalk/hooks/appdeploy/post 디렉토리 아래의 파일을 검색합니다.

그래서 당신이 사용하고 수행 할 수 있습니다 당신은 당신의 PHP 파일을 공유 할 수

 
commands: 
    create_post_dir: 
    command: "mkdir /opt/elasticbeanstalk/hooks/appdeploy/post" 
    ignoreErrors: true 
files: 
    "/opt/elasticbeanstalk/hooks/appdeploy/post/job_after_deploy.sh": 
    mode: "000755" 
    owner: root 
    group: root 
    content: | 
     #!/usr/bin/env bash 
     /var/app/current 
     ** run your php script here ** 
+0

환경 변수가 구성되기 전에 실행되는 것으로 간주되므로 스크립트에서 준비/생성을 차별화하는 데 의존하지 마십시오. –

+1

Nevermind는 PHP 스크립트를 실행하기 전에'source/opt/elasticbeanstalk/support/envvars'를 추가하여 환경 변수 문제를 해결했습니다. –

관련 문제