我正在尝试在成功部署之后在/var/app/current
目录中创建一个文件。我已经在.ebextensions
下创建了一个配置文件,但是没有创建该文件。我认为它总是被覆盖,因为这些文件首先在/tmp/deployment/application
上检查了。我不想跟踪VCS中的文件。
我的配置文件:
# .ebextensions/create_file.config
files:
"/var/app/current/src/webapp/dist/testfile.html":
mode: "000644"
owner: nodejs
group: nodejs
content: |
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<h1>foo</h1>
<body>
</html>
尽管在文档中未明确说明,但所有 .ebextensions
命令均已运行 prient 到最终部署步骤。也就是说,在将您的应用程序的新版本部署到/var/app/ondeck
时,它们全部已执行,但是在该目录重命名为/var/app/current
之前。
所以发生的是您的testfile.html
被写入旧目录/var/app/current
,后来删除并用新目录/var/app/ondeck
替换。
没有官方支持的机制来执行命令目录已移动,但是我(和许多其他人(使用非正式的解决方法。基本上,编写一个移动或创建所需文件并将其放入/opt/elasticbeanstalk/hooks/appdeploy/post/
的shell脚本。