Zaz*_*Zaz 14 git githooks post-commit-hook
我正在使用Jekyll构建网站,它编译ERB,SASS和c.到纯HTML和CSS.
在大多数提交之后,我想编译站点并将编译后的版本提交到单独的存储库或分支中,以便可以将其推送到静态服务器.
最好的方法是什么?
我已经有了解决方案,但我希望有人可能会更优雅.
在大多数提交之后,我想编译站点并将编译后的版本提交到单独的存储库或分支中,以便可以将其推送到静态服务器.
正确的关键字是"持续集成".
您可以使用像Jenkins这样的CI软件在每次提交后,在创建或修改拉取请求之后构建系统,或者每晚.
您在CI软件中配置的构建脚本负责将构建工件(在这种情况下是您的编译版本)部署到目标系统(如s3存储桶).您还可以将您的人工制品程序化提交到不同的git仓库.
看看这里:https://jenkins.io/doc/
在 中初始化一个 Git 存储库_site/
,然后添加一个 Git 提交后挂钩.git/hooks/post-commit
:
echo -n "Add commit to compiled version? (y/N) "
read answer < /dev/tty
if [ "$answer" != "y" ]; then exit; fi
message=$( git log -1 --pretty=%B )
git stash --all
bundle exec jekyll build
cd _site
git add --all
git commit -m "$message"
cd ..
git stash pop
Run Code Online (Sandbox Code Playgroud)
现在,每次提交时,系统都会询问您是否要向编译版本添加提交。
归档时间: |
|
查看次数: |
282 次 |
最近记录: |