gpt4 book ai didi

amazon-web-services - AWS EBS - 如何将环境名称提取到 .ebextensions 脚本中

转载 作者:行者123 更新时间:2023-12-04 07:36:09 25 4
gpt4 key购买 nike

我有一个通过 Jenkins 部署到 AWS Elastic Beanstalk 的 grails 应用程序。我想在我的项目中添加一个 splunk 转发器,以便我可以在 AWS 之外跟踪我的日志并设置简单的通知。
问题是,我有多个运行应用程序的环境(开发、预生产、生产等),这很好,因为您只需更改转发的环境名称,就可以轻松地在 Splunk 中对其进行排序。
但是,必须在所有环境之间使用相同的 .ebextensions 文件,我不需要一种方法来将环境名称设置为 AWS 具有的任何名称。有没有一种方法可以轻松地做到这一点,而我却忽略了这一点?
脚本开始:

container_commands:
01install-splunk:
command: /usr/local/bin/install-splunk.sh
02set-splunk-outputs:
command: /usr/local/bin/set_splunk_outputs.sh
env:
SPLUNK_SERVER_HOST: "splunk.host"
03add-inputs-to-splunk:
command: /usr/local/bin/add-inputs-to-splunk.sh
env:
ENVIRONMENT_NAME: "Development"
cwd: /root
ignoreErrors: false
那个 ENVIRONMENT_NAME我设置的传递给第三个脚本的变量是我希望能够根据正在部署的环境进行更改的变量。我可以在 Jenkins 中设置它或以某种方式通过 AWS 将其拉出来吗?

最佳答案

您可以尝试以下步骤:

  • 使用环境变量配置您的 AWS Elasticbeanstalk 环境
    ENVIRONMENT_NAME = '开发' 或 'QA' 或 '产品'

  • 请引用 aws-official-docs对于相同。
  • 然后更新配置如下:


  • container_commands:
    01install-splunk:
    command: /usr/local/bin/install-splunk.sh
    02set-splunk-outputs:
    command: /usr/local/bin/set_splunk_outputs.sh
    env:
    SPLUNK_SERVER_HOST: "splunk.host"
    03add-inputs-to-splunk:
    command: /usr/local/bin/add-inputs-to-splunk.sh
    env:
    ENVIRONMENT_NAME: "$ENVIRONMENT_NAME"
    cwd: /root
    ignoreErrors: false

    希望这对你有用。

    关于amazon-web-services - AWS EBS - 如何将环境名称提取到 .ebextensions 脚本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67730485/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com