包括Keter的额外目录

时间:2015-10-20 20:33:09

标签: haskell yesod keter

我有一个Yesod站点,并创建了一个处理下载和强制约束的处理程序。我的Yesod项目目录有一个名为downloads的子目录,它包含我希望用户在登录后能够下载的文件。该处理程序在我的开发和登台框中运行良好,但在我转移到生产。我将问题跟踪到yesod keter,而不是在构建文件包时归档文件。

如何说服keter包含目录?

1 个答案:

答案 0 :(得分:1)

所有yesod keter命令都会创建一个.tar.gz压缩归档文件,其.keter扩展名包含以下子目录:

  • config:源树中同名目录的精确副本
  • dist:包含一个包含应用二进制文件的子目录bin
  • static:源树中同名目录的精确副本

请注意,应用程序二进制文件的路径是通过config/keter.yml设置exec设置的,而静态文件的路径是通过root设置设置的。 yesod keter命令包含的确切文件集在findFiles函数中指定,如果您想查看源代码。

如果要自定义.keter文件的内容,编写shell脚本来创建存档可能是最简单的。使用此脚本,您可以将任意额外目录添加到存档。

您需要模拟yesod keter行为的最小bash脚本如下:

#!/bin/bash
tar cvf myapp.keter config/ dist/bin/ static/

您可以自定义此项,但您希望生成正确的内容。将download/添加到此命令行的末尾应该可以解决问题。