Jekyll Github 动作管道卡在 jekyll 构建中
Jekyll Github Actions pipeline stuck at jekyll build
我一直在研究通过 ssh 将我的 Jekyll 站点构建和部署到网络服务器的管道。我找到了 this 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分钟后我手动取消了。
运行 构建命令在本地有效。知道错误是什么吗?或者有更好的方法来实现我想要的吗?
在尝试了各种 Github 操作后,我使用 Jekyll Builder Docker Image.
自己解决了
注意:你需要预先创建.jekyll-cache
和_site
,因为容器没有这样做的权限。这是一个众所周知的 issue.
- 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.
将它移动到我的服务器
我一直在研究通过 ssh 将我的 Jekyll 站点构建和部署到网络服务器的管道。我找到了 this 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分钟后我手动取消了。
运行 构建命令在本地有效。知道错误是什么吗?或者有更好的方法来实现我想要的吗?
在尝试了各种 Github 操作后,我使用 Jekyll Builder Docker Image.
自己解决了注意:你需要预先创建.jekyll-cache
和_site
,因为容器没有这样做的权限。这是一个众所周知的 issue.
- 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.