Tomcat 如何在通过jenkins将war文件部署到AWS beanstalk时包括.ebextensions目录?

Tomcat 如何在通过jenkins将war文件部署到AWS beanstalk时包括.ebextensions目录?,tomcat,spring-boot,amazon-elastic-beanstalk,war,Tomcat,Spring Boot,Amazon Elastic Beanstalk,War,我正试图通过jenkins部署SpringBoot应用程序war,jenkins包含ebextension配置文件 但是,beanstalk或jenkins忽略了exextension文件,并在没有ebextension文件的情况下部署了早期的war。作业没有在S3存储桶中上载最新的源zip(我可以看到上一次上载的zip版本为201,其中当前版本为204) 我甚至尝试通过AWS UI控制台上传战争。我在“/usr/share/tomcat8/webapps/ROOT/”上看不到“.ebexten

我正试图通过jenkins部署SpringBoot应用程序war,jenkins包含ebextension配置文件

但是,beanstalk或jenkins忽略了exextension文件,并在没有ebextension文件的情况下部署了早期的war。作业没有在S3存储桶中上载最新的源zip(我可以看到上一次上载的zip版本为201,其中当前版本为204)

我甚至尝试通过AWS UI控制台上传战争。我在“/usr/share/tomcat8/webapps/ROOT/”上看不到“.ebextensions”目录

我需要执行哪些步骤来确保我具有有效的ebextension配置并放置在有效路径中

编辑1: 我不知道aws会在执行后删除ebextension配置文件。但是我在“/var/log/cfn init.log”文件中没有看到任何相关的命令执行日志

2017-05-12 14:42:30,946 [INFO] -----------------------Build complete-----------------------
2017-05-13 12:15:58,540 [INFO] -----------------------Starting build-----------------------
2017-05-13 12:15:58,554 [INFO] Running configSets: Infra-EmbeddedPreBuild
2017-05-13 12:15:58,554 [INFO] Running configSet Infra-EmbeddedPreBuild
2017-05-13 12:15:58,554 [INFO] ConfigSets completed
2017-05-13 12:15:58,557 [INFO] -----------------------Build complete-----------------------
2017-05-13 12:16:00,702 [INFO] -----------------------Starting build-----------------------
2017-05-13 12:16:00,719 [INFO] Running configSets: Infra-EmbeddedPostBuild
2017-05-13 12:16:00,719 [INFO] Running configSet Infra-EmbeddedPostBuild
2017-05-13 12:16:00,720 [INFO] ConfigSets completed
以下是我在.ebextension配置中的配置

filebeat:
 "/etc/filebeat/filebeat.yml":
     mode: "000755"
     owner: root
     group: root
     content: |
       filebeat.prospectors:
       - input_type: log
         paths:
           - "/var/log/tomcat8/*.log"
       output.logstash:
         hosts: ["10.0.0.149:5044"]

commands:
  1_command:
    command: "curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.2.0-x86_64.rpm"
    cwd: /home/ec2-user
  2_command:
    command: "rpm -ivh --replacepkgs filebeat-5.2.0-x86_64.rpm"
    cwd: /home/ec2-user
  3_command:
    command: "/etc/init.d/filebeat start"

您的第一个部分应该是
文件:
,而不是
文件节拍:
,并且您一次只能缩进一个级别-YAML对空格非常敏感。

我不知道为什么您的最新版本没有部署,但是执行配置文件后,
.ebextensions
文件夹将从暂存区域中删除,但在您的应用程序移动到其最终位置之前。@Brian感谢您指出aws将在执行后删除eExtensions配置文件。我在cfn-init.log中没有看到任何执行日志,也没有在服务器中看到任何文件beat设置的迹象。如果您在
/var/log/eb activity.log
中查看,在执行命令时应该会看到类似
AppDeployStage0/EbExtensionPostBuild/Infra embeddedpostfuild/postbuild\u 3\u appname/Command 1\u Command
的行。此外,您的第一部分应该是
文件:
,而不是
文件节拍:
,并且一次只能缩进一个级别-YAML对空格非常敏感。缩进和从文件节拍到文件的切换解决了问题。非常感谢@brian