我的最终目标是能够在我的Jekyll博客上安排帖子。每当我提交到Github中的主分支时,我都使用Travis-CI将/ _site /的内容部署到S3桶。
Travis-CI流程按预期工作,但是除非我在本地构建我的站点并将新的/ _site /文件夹直接推送到master,否则新页面不会构建并添加到/ _site /目录。这些帖子存在于/ _posts /中,但没有得到构建并自动添加到/ _site /,因为它们应该在每天重建网站时使用。
我的travis.yml文件位于下方。
language: ruby
rvm:
- 2.3.3
# before_script:
# - chmod +x ./script/cibuild # or do this locally and commit
# Assume bundler is being used, therefore
# the `install` step will run `bundle install` by default.
install: gem install jekyll html-proofer jekyll-twitter-plugin
script: jekyll build && htmlproofer ./_site
# branch whitelist, only for GitHub Pages
branches:
only:
- master
env:
global:
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
exclude: [vendor]
sudo: false # route your build to the container-based infrastructure for a faster build
deploy:
provider: s3
access_key_id: $AWS_ACCESS_KEY
secret_access_key: $AWS_SECRET_KEY
bucket: $S3_BUCKET
local_dir: _site
答案 0 :(得分:1)
我明白了这一点:Travis-CI部署宝石并没有包含构建步骤。它只是将repo的内容推送到S3。我更新了构建脚本以作为构建和验证步骤的一部分。
答案 1 :(得分:0)
您必须在部署指令上将选项skip_cleanup设置为true