Gitlab中未生成Jekyll站点地图

Gitlab中未生成Jekyll站点地图,jekyll,gitlab,gitlab-ci,Jekyll,Gitlab,Gitlab Ci,在推送到Gitlab.io时包括jekyll站点地图gem会导致构建失败。当我在本地运行jekyll时,sitemap.xml在my\u site文件夹中正确生成 要在Gitlab中构建jekyll sitemapgem,我需要做什么?或者,在推到Gitlab之前,我是否应该以某种方式排除jekyll sitemapgem Gemfile source "https://rubygems.org" ruby '2.0.0' gem 'jekyll' gem 'jekyll-sitemap' ge

在推送到Gitlab.io时包括
jekyll站点地图
gem会导致构建失败。当我在本地运行jekyll时,
sitemap.xml
my\u site
文件夹中正确生成

要在Gitlab中构建
jekyll sitemap
gem,我需要做什么?或者,在推到Gitlab之前,我是否应该以某种方式排除
jekyll sitemap
gem

Gemfile

source "https://rubygems.org"
ruby '2.0.0'
gem 'jekyll'
gem 'jekyll-sitemap'
gem 'sass'
\u config.yml

gems:
- jekyll-sitemap
Gitlab构建输出

$ gem install jekyll
Successfully installed safe_yaml-1.0.4
Successfully installed rouge-1.10.1
Successfully installed mercenary-0.3.6
Successfully installed liquid-3.0.6
Successfully installed kramdown-1.11.1
Building native extensions.  This could take a while...
Successfully installed ffi-1.9.10
Successfully installed rb-inotify-0.9.7
Successfully installed rb-fsevent-0.9.7
Successfully installed listen-3.0.7
Successfully installed jekyll-watch-1.4.0
Successfully installed sass-3.4.22
Successfully installed jekyll-sass-converter-1.4.0
Successfully installed colorator-0.1
Successfully installed jekyll-3.1.3
14 gems installed
$ jekyll build -d public/
/usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.11.2/lib/bundler/spec_set.rb:94:in `block in materialize': Could not find jekyll-sitemap-0.10.0 in any of the sources (Bundler::GemNotFound)
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.11.2/lib/bundler/spec_set.rb:87:in `map!'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.11.2/lib/bundler/spec_set.rb:87:in `materialize'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.11.2/lib/bundler/definition.rb:137:in `specs'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.11.2/lib/bundler/definition.rb:182:in `specs_for'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.11.2/lib/bundler/definition.rb:171:in `requested_specs'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.11.2/lib/bundler/environment.rb:18:in `requested_specs'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:13:in `setup'
    from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.11.2/lib/bundler.rb:92:in `setup'
    from /usr/local/bundle/gems/jekyll-3.1.3/lib/jekyll/plugin_manager.rb:33:in `require_from_bundler'
    from /usr/local/bundle/gems/jekyll-3.1.3/bin/jekyll:9:in `<top (required)>'
    from /usr/local/bundle/bin/jekyll:22:in `load'
    from /usr/local/bundle/bin/jekyll:22:in `<main>'

编辑的答案

事实上,答案就在你的
.gitlab ci.yml
中。我猜这个文件包含如下内容:

...
pages:
  stage: deploy
  script:
    - gem install jekyll
    - jekyll build -d public
...
...
pages:
  stage: deploy
  script:
    - gem install jekyll
    - gem install jekyll-sitemap
    - jekyll build -d public
...
如果要以这种方式运行gitlab ci(不使用bundler),此文件必须包含以下内容:

...
pages:
  stage: deploy
  script:
    - gem install jekyll
    - jekyll build -d public
...
...
pages:
  stage: deploy
  script:
    - gem install jekyll
    - gem install jekyll-sitemap
    - jekyll build -d public
...
这是


旧答案:为什么不使用
bundle exec jekyll build-d public/

有没有办法在Gitlab构建中手动输入?下面是“Gitlab构建输出”的屏幕截图,在我将git推送到Gitlab后,它会自动运行:很好,谢谢!我忘记了.gitlab-ci.yml文件。只是好奇,当你说“没有捆绑机”时,我不知道你的意思。构建站点有更好的做法吗?我认为您可以先安装
gem bundle
,然后安装
bundle
,最后安装
bundle exec jekyll service-d public
。需要测试。