成功部署后,在/ var / app / current目录中创建文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了成功部署后,在/ var / app / current目录中创建文件相关的知识,希望对你有一定的参考价值。

我试图在成功部署后在/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>
答案

虽然在the documentation中没有明确说明,但所有.ebextensions命令都在最终部署步骤之前运行。也就是说,它们都是在将新版本的应用程序部署到/var/app/ondeck但在该目录重命名为/var/app/current之前执行的。

所以正在发生的是你的testfile.html被写入旧目录/var/app/current,后来被删除并替换为新目录/var/app/ondeck

移动目录后没有官方支持的执行命令的机制,但我(和许多其他人)使用an unofficial workaround。基本上,编写一个shell脚本来移动或创建您需要的文件并将其放入/opt/elasticbeanstalk/hooks/appdeploy/post/

以上是关于成功部署后,在/ var / app / current目录中创建文件的主要内容,如果未能解决你的问题,请参考以下文章

AWS EB Deploy 在部署后显示缺少 Dockerrun.aws.json

部署后无法在 EC2 上运行 command rails 控制台

重复位置“/”Nginx错误后端和前端

手动部署和配置 App 后创建 Heroku App.json

部署失败:打开失败需要'/var/app/ondeck/vendor/autoload.php'

在heroku上成功部署后Rails应用程序无法正常工作?