我试图使用Travis CI来构建我的Jekyll网站并推送到Github上的gh-pages分支。它不起作用,我可能不知道自己在做什么。
错误是:
error: src refspec gh-pages does not match any.
error: failed to push some refs to 'https://github.com/jshwlkr/jshwlkr.info.git'
.travis.yml这里:https://github.com/jshwlkr/jshwlkr.info/edit/master/.travis.yml
branches:
only:
- master
language: node_js
node_js:
- '6'
before_install:
- rvm install 2.2.3
- curl -o- -L https://yarnpkg.com/install.sh | bash
before_script:
- gem install bundler
- bundle install
- mkdir _site
- git clone https://$GITHUB_TOKEN@github.com/jshwlkr/jshwlkr.info.git -v --branch gh-pages _site
- git status
after_success:
- cd _site
- git config user.email "email.me@jshwlkr.info"
- git config user.name "jshwlkr"
- git add --all
- git status
- git commit -a -m "Travis #$TRAVIS_BUILD_NUMBER"
- git push --force origin gh-pages
- bundle exec rake webmention
最后一次构建:https://travis-ci.org/jshwlkr/jshwlkr.info/builds/268142486
(我最终会推送到另一台服务器或rsync。这就是那些评论的内容。)
答案 0 :(得分:1)
Travis会检出一个浅层克隆,因此构建VM上的本地副本不知道存在on GitHub的gh-pages
分支。尝试使用
git fetch --unshallow
在运行git push …
之前。
或者,您可能想尝试GitHub Pages deployment provider。有一些报告的错误,例如https://github.com/travis-ci/travis-ci/issues/7538和https://github.com/travis-ci/travis-ci/issues/7562,但您可能会发现它适合您的需求。