Pet*_*Fox 5 git environment-variables amazon-ec2 amazon-web-services amazon-elastic-beanstalk
我正在尝试创建部署挂钩,因此当我将PHP应用程序部署到EB时,它将发送应用程序代码版本或git提交点,甚至可能是git标记(如果存在于我的分析服务中).
如果在实例上设置任何环境变量以说明它们正在运行的是什么版本,或者它是否甚至将任何git数据复制到已作为EB设置的一部分部署的实例,我就会徘徊?
AFAIK,当 Elastic Beanstalk 将您的应用程序部署到云时,它会使用git archive命令创建一个存档。生成的存档文件没有任何存储库元数据。尽管 Elastic Beanstalk 使用您的提交 sha1 作为版本名称的一部分,但如果您使用自己的版本控制架构,sha1 可能不可用。
作为替代方案,您可以创建 shell 脚本来将提交信息发送到分析服务。使用 git alias,您可以执行脚本并aws.push作为一个命令。
# .git/config
[alias "custom"]
push = !git aws.push $1 && ./custom.sh
# custom.sh
commit=$(git rev-parse HEAD)
echo 'send info to analytics service for commit: ' $commit
Run Code Online (Sandbox Code Playgroud)
然后执行为$ git custom.push
在上面的示例中,即使出现aws.push错误,custom.sh 也会执行,因此如果您需要更可靠的解决方案,您可能希望将其与.git/AWSDevTools/aws.elasticbeanstalk.push脚本本身更紧密地集成。
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
509 次 |
| 最近记录: |