我一直在努力通过ssh构建和部署我的Jekyll网站的管道,并将其部署到Web服务器。我找到了这个GithubAction并想重现它。这是我的.yml
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 🛎 Check out master
uses: actions/checkout@master
with:
fetch-depth: 1
- name: 🎩 Install Jekyll
run: |
sudo gem install bundler jekyll
sudo bundle install
- name: 🧹 Clean site
run: |
if [ -d "docs" ]; then
rm -rf docs/*
fi
- name: 🔨 Build site
run: bundle exec jekyll build -d docs
当运行我的管道时,它会卡在🔨 Build site
步骤的开始。它被卡住,直到我在18分钟后手动取消它为止。
在本地运行build命令可以正常工作。知道错误是什么吗?还是有更好的方法来实现我想要的?
在尝试了各种Github Actions之后,我自己使用Jekyll Builder Docker Image进行了解决。
注意:你需要预先创建,.jekyll-cache
并且_site
由于该容器没有权限进行创建。这是一个已知问题。
- name: 🔨 Build site
run: |
mkdir .jekyll-cache _site
docker run --rm -v ${{ github.workspace }}:/srv/jekyll jekyll/builder:latest jekyll build
运行此命令后,你可以对_site
文件夹执行任何操作。以我为例,我压缩了它,然后使用appleboys scp-action将其移到我的服务器中。