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

时间:2017-05-12 15:33:08

标签: tomcat spring-boot elastic-beanstalk war

我正在尝试通过包含ebextension配置文件的jenkins部署Spring启动应用程序。

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

我甚至尝试通过AWS UI控制台上传war。我在“/ 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"

1 个答案:

答案 0 :(得分:0)

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