1

J'essaie d'ajouter un dossier .ebextensions au niveau racine de mon pot à déployer dans AWS elastic beanstalk.Spring Boot et ebextensions

Ma structure de dossier est:

main: 
--src 
--resources 
    --.ebextensions 

Quand je construis le pot mon .ebextensions placé sur la obtient classpath de ma cible et est donc pas repris par ELB sur Deploy.

pom.xml

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
      <fork>true</fork> 
      <addResources>false</addResources> 
    </configuration> 
</plugin> 

Comment puis-je construire de telle sorte que ebextensions est repris par ELB?

+0

Vous serez probablement intéressé par [ce problème de démarrage Spring] (https://github.com/spring-projects/spring- boot/issues/6626). –

+0

En fait, êtes-vous sûr de vouloir le fichier à la racine du pot? [La documentation] (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html) suggère que '.ebextensions' devrait s'asseoir à côté de votre fichier jar dans votre ensemble source de l'application. –

Répondre

1

j'avais les mêmes problèmes, se déplaçant .ebextensions à côté du pot comme Andy a suggéré travaillé pour moi quand j'ai combiné avec l'ajout directement un fichier .conf dans le répertoire désiré comme suggéré ici:

https://stackoverflow.com/a/41011160/7686379

2

cela fonctionne pour moi, est la manière la plus propre (Maven) J'ai trouvé pour résoudre ce:

Ajouter .ebextensions à la racine de votre projet et ajouter cet extrait à la fin dans la section plugins:

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>1.6</version> 
      <executions> 
       <execution> 
        <id>prepare</id> 
        <phase>package</phase> 
        <configuration> 
         <tasks> 
          <unzip src="${project.build.directory}/${project.build.finalName}.jar" dest="${project.build.directory}/${project.build.finalName}" /> 
          <copy todir="${project.build.directory}/${project.build.finalName}/" overwrite="false"> 
           <fileset dir="./" includes=".ebextensions/**"/> 
          </copy> 
          <zip compress="false" destfile="${project.build.directory}/${project.build.finalName}.jar" basedir="${project.build.directory}/${project.build.finalName}"/> 
         </tasks> 
        </configuration> 
        <goals> 
         <goal>run</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

Ce plugin utilise ant pour décompresser le dernier jar généré par spring boot, copiez les .ebextensions dans la racine et zip (jar) à nouveau avec le même nom. A été testée et travaillant dans la production :)

Works avec Spring 1.5.3.RELEASE