我虽然这很容易,但我无法找到从EBS上的post deploy钩子获取修订字符串的方法。用例很简单:我想警告部署的滚动条。
这是当前的脚本:
# Rollbar deploy notifier
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/90_notify_rollbar.sh":
mode: "000755"
content: |
#!/bin/bash
. /opt/elasticbeanstalk/support/envvars
LOCAL_USERNAME=`whoami`
REVISION=`date +%Y-%m-%d:%H:%M:%S`
curl https://api.rollbar.com/api/1/deploy/ \
-F access_token=$ROLLBAR_KEY \
-F environment=$RAILS_ENV \
-F revision=$REVISION \
-F local_username=$LOCAL_USERNAME
到目前为止,我使用当前日期作为修订号,但这并非真正有用。我尝试使用/opt/elasticbeanstalk/bin/get-config
,但我在environment
和container
部分找不到任何相关内容,也无法从meta
中读取任何内容。另外,我找不到关于那些的文档,所以...
理想情况下,我还想要部署者的用户名,而不是本地计算机上的用户名,但这将是锦上添花。
谢谢你的时间!
答案 0 :(得分:0)
您可以更新弹性beanstalk实例配置文件角色(aws-elasticbeanstalk-ec2-role)以允许它调用Elastic Beanstalk API。在post deploy hook中,您可以使用aws cli或任何AWS开发工具包调用具有当前环境名称的DescribeEnvironments。 如果您对此有任何疑问或者这对您不起作用,请与我们联系。
答案 1 :(得分:0)
我也在寻找API的简单替代方案。现在我用bash
eb deploy && curl https://api.rollbar.com/api/1/deploy/ -F access_token=xxx -F environment=production -F revision=`git rev-parse --verify HEAD` -F rollbar_username=xxx
将xxx
替换为您的令牌和用户名