0

비슷한 질문은 here이지만 솔루션은 배포와 동일한 환경에 대한 셸 액세스를 제공하지 않습니다. 쉘에서 os.environ을 검사하면 환경 변수가 나타나지 않습니다.Django의 Elastic Beanstalk : manage.py 쉘을 실행하고 환경 변수에 액세스 할 수있는 방법이 있습니까?

환경과 함께 manage.py shell을 실행할 수있는 방법이 있습니까?

추신 : 작은 질문으로 EBS에 대한 만트라가 eb ssh을 사용하는 것을 멈추지 만 그 다음에 일회용 관리 스크립트 (모든 배포에서 실행하고 싶지는 않음)를 어떻게 실행하겠습니까?

답변

0

한 번 실행해야하는 경우 중 하나는 db 스키마 마이그레이션입니다. 일반적으로 db에 관한 정보를 저장합니다 ... 그래서 db를 사용하여 무언가가 한 번만 트리거되도록합니다.

개인적으로 나는 eb ssh을 사용하는 것에 대해 아무런 대책이 없지만 문제가 있음을 알고 있습니다. CI/CD를 갖고 싶으면 수동 조작이 규칙에 위배됩니다.

너는 Beanstalk의 WWW/API 부분을 참조하는 것처럼 보입니다. 꽤 자주 필요한 것이 있다면 ... 아마 노동자가 더 적합할까요? 여기서 문제는 API가 처음 배포 될 때 잘못된 스키마를 갖게된다는 것입니다.

일반적으로 EC2를 사용하고 있으므로 user data은 서비스를 제공하는 정보를 저장합니다. 그래서 거기에 "물건"을 넣을 수 있습니다. 여전히 동기화가 필요합니다. Here은 beanstalk에 대한 문서입니다. 자세한 내용은 해당 방법을 참조하십시오.

편집

콩 줄기는 EC2 위에 장비의 종류이다. 따라서 EC2의 user data에 액세스 할 수 있으므로 작업 방법이 있어야합니다. 걱정할 필요가 없습니다. 서버를 설치하는 좋은 방법이 있습니다. 그것은 신장 확장 (ebextensions)이라고합니다. 그것은 서버, 트리거 명령, 악기 cron에 파일을 넣어하는 데 사용할 수 있습니다. 이제까지 원하는 무엇.

을 만들 수 있으며 container_commandsPython Configuration Namespaces 섹션으로 만들 수 있습니다. 이 명령은 각 배치에서 실행됩니다. 여전히 문제는 한 번에 여러 배포를 동시에 수행 할 수 있으므로 동기화해야한다는 것입니다. 좋은 부분은 원하는대로 env를 설정할 수 있다는 것입니다.

환경 변수에 액세스하는 데 아무런 문제가 없습니다. 어떻게 문제를 얻었습니까? 지도로 페이지를 준비하십시오.

+0

마지막 부분에 대한 자세한 설명과'eb ssh'에서 환경 변수를 검색하는 방법은 무엇입니까? –

+0

마음에 오는 일회용 케이스는 장고 ORM을 사용하여 DB 데이터를 조작하는 스크립트를 실행하고 싶은 경우입니다. 테이블에 열을 추가하고 해당 테이블의 개체 목록을 검토하고 거기에 이미있는 항목에 대한 열을 채우는 스크립트를 실행하려고합니다 (다른 열에서 유추되었을 수도 있음) –

관련 문제