Мы должны настроить файл hosts
в нашем динамически генерируемом экземпляре Elastic Beanstalk нашего приложения Spring Boot во время нашего конвейера GitLab CI / CD.Для этого нам нужно предоставить каталог .ebextensions
с файлом конфигурации, который выглядит следующим образом:
commands:
01_add_hosts:
command: echo 123.12.12.123 myhost.com >> /etc/hosts
Поскольку у нас есть приложение с загрузочной пружиной, мы должны упаковать .ebextensions
на корневом уровненашей толстой банки.Итак, в основном мы распаковываем jar, добавляем каталог ebextensions и возвращаем его обратно.Таким образом, мы успешно выполняем настройку Beanstalk в наших конвейерах Gitlab.
Однако, чтобы сделать этот процесс, мы используем maven-antrun-plugin
следующим образом:
<!-- Bundle .ebextensions inside jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</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>
Проблема в том, что maven-antrun-plugin
и старый плагин от 2014 года, и это выглядит не лучшим способом для достижения этого комплекта банку.
Знаете ли вы, каким образом или каким способом пружинной загрузки создается этот комплект банок?Я имею в виду добавить каталоги / файлы на корне уровня фляги в весенней загрузке?Помните, что мы связываем это во время нашей конвейерной работы, которая развертывается через плагин AWS Beanstalk maven.