git server side hook 试用

Posted rongfengliang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git server side hook 试用相关的知识,希望对你有一定的参考价值。

git 的hook 是一个很方便的功能,我们可以使用hook 做好多处理,比如client side hook 进行
提交格式校验,server side 进行ci/cd 处理

测试使用docker-compose 运行 git server 使用gogs

环境准备

  • docker-compose
version: ‘3‘
services:
  gogs:
    image: gogs/gogs
    ports:
      - "10022:22"
      - "10080:3000"
    volumes:
      - ./data/gogs:/data
    depends_on:
      - mysql
  mysql:
    image: mysql:5.7.16
    volumes:
      - ./gogs/mysql:/var/lib/mysql
    ports:
      - 3308:3306
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_ROOT_PASSWORD: dalongrong
      MYSQL_DATABASE: gogs
      MYSQL_USER: gogs
      MYSQL_PASSWORD: dalongrong
      TZ: Asia/Shanghai
  • 配置gogs
http://localhost:10080  按照提示即可

配置git server side hook

server side hook 在custom_hooks 目录下

  • 创建项目

技术分享图片

  • 配置hook

技术分享图片

技术分享图片

  • server 端效果

技术分享图片

测试

  • clone 代码
git clone http://localhost:10080/dalong/demo.git
  • 修改提交
修改index.html 即可
  • 效果

技术分享图片
heroku 应用部署类似的方式
技术分享图片

说明

heroku 的应该部署模型也是使用类似的方式,当我们进行提交之后,触发应用的构建(nodejs npm install 容器构建,应用启动。。。)
同时我们使用hook 可以做好多比较灵活的ci/cd 开发

参考资料

https://github.com/gogs/gogs
https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks#Server-Side-Hooks
https://devcenter.heroku.com/articles/getting-started-with-nodejs#deploy-the-app

以上是关于git server side hook 试用的主要内容,如果未能解决你的问题,请参考以下文章

前端代码自动格式化之Git hooks

Git服务器,仓库的hook监控

Git Hooks简介

text Git预提交挂钩(.git / hooks / pre-commit)以防止意外提交调试代码(在源注释中添加NOCOMMIT)

Android Git Hooks

Android Git Hooks