2015-05-14 67 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 
相關問題