AWS elasticbeanstalk hooks:部署后有效,预部署不起作用



我在linux 2平台上使用ebs应用程序,需要在部署过程中克隆一个目录以获取应用程序的配置文件。我做了一个预部署挂钩,以便在部署后应用程序启动时文件就在那里:/.platform/hooks/predeploy/01_import

在预部署挂钩中部署后,文件不在那里。当我在postdeploy钩子中运行完全相同的脚本时,文件就在那里。

因此,该命令有效,我看到predeploy钩子正在运行(我在日志中看到echo文本(,但文件不存在。有人知道为什么吗?

#!/bin/bash
mkdir /var/app/current/config
echo Adding github in known hosts
ssh-keyscan -H github.com >> /home/webapp/.ssh/known_hosts
echo Done Adding github in known hosts
echo deleting old flows
echo cloning 
git -c core.sshCommand="ssh -i /etc/pki/tls/certs/githubKey" clone -b dev --single-branch <mygithub> /var/app/current/config
echo done cloning 

在预部署阶段,新代码部署到/var/app/staging,而不是/var/app/current

如果新的暂存部署成功,/var/app/current实际上会被暂存覆盖。

因此,在predeploy中,我已经克隆到了staging,并且它很有效。

AWS文档中没有很好地记录这一点;这对我有帮助。

相关内容

  • 没有找到相关文章