我在仓库的hakyll
分支中用Hakyll编写了一个静态页面生成器,并且我尝试配置CircleCI以在我将更改提交到master
分支时在hakyll
分支上生成页面。目前,我的CircleCI配置文件如下所示
version: 2
jobs:
build:
docker:
- image: fpco/stack-build:lts
steps:
- checkout
- add_ssh_keys:
fingerprints:
- "$$:$$:$$:...:$$"
- run:
name: Resolve/Update Dependencies
command: stack setup
- run:
command: stack build --dependencies-only
- run:
name: Build Site App
command: stack build --pedantic
- run:
name: Generate Static Site
command: stack exec site build
- run:
name: Publish GitHub Pages
command: |
REMOTE_URL=$(git config --get remote.origin.url)
cd ./_site
# initalize repo
git init
git config user.name 'CircleCI'
git config user.email '[email protected]'
# add generated files
git add .
git commit -m "publish $CIRCLE_SHA1 [ci skip]"
# push to pages branch
echo "Add remote: $REMOTE_URL"
git remote add origin "$REMOTE_URL"
echo "About to push"
git push --force origin master
[基本上,生成的页面存储在_site
文件夹中,并且我正在尝试通过使用项目的url作为远程对象初始化一个新的git repo来将其内容提交到master
分支的根目录。然后,我将_site
的内容提交到master分支。
我已经在我的Github项目和CircleCI'SSH Permitions'中添加了一个读/写部署密钥。使用密钥的指纹代替上述脚本中的“ $$:$$:$$:...:$$”。
但是,每当我将某些内容推送到hakyll
分支时,作业都会在最后一条git push
中显示以下消息而失败:>
致命:无法分叉
使用代码128退出
我搞砸了吗?请注意,我在私有存储库上运行
我在存储库的hakyll分支中有一个用Hakyll编写的静态页面生成器,并且我尝试配置CircleCI以在每次提交对hakyll的更改时都在master分支上生成页面...
您有没有解决这个问题?我遇到了同样的问题...