2015-05-14 41 views
1

我有一个问题,试图在我的jekyll应用程序上测试我的构建Travis-ci。其中一个插件会生成一个json,其中包含我的应用可以通过搜索工具获取的信息。travis-ci:构建过程中出错(没有这样的文件或目录)

构建命令工作正常,我的电脑上:

bundle exec jekyll build --source octopress 

女巫的索引信息到一个search.json文件在我建立目录(_site)。

但它在Heroku上的Travis-ci上失败。

writting search.json to /home/travis/build/alain-andre/mon_site/_site 

jekyll 2.5.3 | Error: No such file or directory - /home/travis/build/alain-andre/mon_site/_site/search.json 

任何人都可以帮忙吗?

+0

一个GitHub的仓库可能? –

+0

是[mon_site](https://github.com/alain-andre/mon_site/commit/241b4b78b40155a871b475b32bba4ac67d6165e3)。我做了很多这个问题的集成测试,好的提交是241b4b78b40155a871b475b32bba4ac67d6165e3 –

+0

@AlainANDRE尝试在config.yml中添加'exclude:[vendor]'?我认为这是一个没有找到文件夹的问题,或者你的脚本是一个命令的方式,但它并不是一个问题。参考http://jekyllrb.com/docs/continuous-integration/ – matrixanomaly

回答

0

好的,我找到了解决方案。

我不得不将search.json加入jekyll site.keep_files

首先要做的是在您的Jekyll模块中创建一个Jekyll :: StaticFile

class SearchJson < Jekyll::StaticFile 
    def write(dest) 
    begin 
     super(dest) 
    rescue 
    end 

    true 
    end 
end 

然后,当创建您的文件,将其添加到site.static_files这样的:

# Keep the file from being cleaned by Jekyll 
Jekyll::SearchJson.new(site, site.dest, "/", filename) 
site.keep_files << filename 
相关问题