2015-06-18 10 views
13

mam problemy z dostaniem mój Döcker elastyczna beanstalk wdrożyć ją przeczytać mój .ebextensions/plik setup.config.Gdzie umieścić konfigurację ebextensions w pakiecie AWS Elastic Beanstalk Docker za pomocą pakietu źródłowego dockerrun?

Dokumentacja eb environment configuration mówi:

Można obejmować jeden lub więcej plików konfiguracyjnych z Twojego pakietu źródłowego. Pliki konfiguracyjne muszą mieć nazwę z rozszerzeniem .config (na przykład myapp.config) i umieszczone w głównym katalogu .ebextensions w pakiecie źródłowym.

Jednak wygląda na Döcker że pakiet źródłowy nie jest plikiem .zip lub .war, ale plik .json np docs powiedzieć create a Dockerrun.aws.json file-i wygląda na to, że wiązka jest źródło?

Tworząc wersję aplikacji przesłać plik zwyczaj Dockerrun-$VERSION.aws.json do S3 i coś działać jak poniżej (gdzie $APP jest wersjonowanym pliku json dockerrun):

aws elasticbeanstalk create-application-version \ 
    --application-name $APP_NAME \ 
    --version-label $VERSION \ 
    --source-bundle S3Bucket=$S3_BUCKET,S3Key=$S3_PATH/$APP 

Więc ... jak jest. Katalog ebextensions znajdzie się w katalogu najwyższego poziomu pakietu źródłowego, gdy "pakiet" jest tylko plikiem json, który kończy się budowaniem kontenera? (Moja pierwsza próba polegała na umieszczeniu go w katalogu głównym projektu, ale to nie zadziałało.)

Odpowiedz

17

Jeśli używasz pliku .json do rozmieszczania w portach, nie możesz użyć rozszerzenia .ebextensions.

Można jednak utworzyć zip, który zawiera .json i katalog .ebextension i wszystko powinno działać. Użyj zip jako artefaktu wdrożenia zamiast surowego json.

+1

Cool, pracował dobrze, skończyło się wskazując na zamek błyskawiczny jak moje źródło wiązki zamiast i zawierała ona tylko plik 'Dockerrun.aws.json' i' .ebextensions' katalog z dowolnych plików konfiguracyjnych chciałem. – MrColes

+0

Mam problem z pobraniem pliku config.json z kluczami do serwera bez dodawania go do git. Czy uważam, że wyraźnie tego unika i czy muszę go rozpakować? –

+0

@MarkLester Biorę to za pomocą cli. Możesz albo skompresować wszystko, albo dodać plik .ebignore i zignorować wszystko, czego nie chcesz wdrażać. Ebignore zastępuje gitignore, więc nie musisz zatwierdzać rzeczy –

Powiązane problemy