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

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

环境准备

  • docker-compose
  1. version: '3'
  2. services:
  3. gogs:
  4. image: gogs/gogs
  5. ports:
  6. - "10022:22"
  7. - "10080:3000"
  8. volumes:
  9. - ./data/gogs:/data
  10. depends_on:
  11. - mysql
  12. mysql:
  13. image: mysql:5.7.16
  14. volumes:
  15. - ./gogs/mysql:/var/lib/mysql
  16. ports:
  17. - 3308:3306
  18. command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
  19. environment:
  20. MYSQL_ROOT_PASSWORD: dalongrong
  21. MYSQL_DATABASE: gogs
  22. MYSQL_USER: gogs
  23. MYSQL_PASSWORD: dalongrong
  24. TZ: Asia/Shanghai
  • 配置gogs
  1. http://localhost:10080 按照提示即可

配置git server side hook

server side hook 在custom_hooks 目录下

  • 创建项目

  • 配置hook

  • server 端效果

测试

  • clone 代码
  1. git clone http://localhost:10080/dalong/demo.git
  • 修改提交
  1. 修改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 试用的更多相关文章

  1. 使用Gitblit 在windows 上部署你的Git Server

    Gitblit: 在windows 上部署你的Git Server 前言 之前在dudu的文章里看到过用bonobogit 部署在 IIS 7.5 上的Window 平台的git 服务器.学着部署使用 ...

  2. Windows下安装 msysGit 以及初始化 Git server环境

    Windows下git工具msysGit使用以及Git server初始化 Windows下git工具,这里选择msysGit,版本为msysGit-netinstall-1.8.1.2-previe ...

  3. Ubuntu server 搭建Git server

    Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每个客户端用户的本地都是一个版本管理控制器. Ubuntu server 版本为12.04 搭建步骤如下: ...

  4. UBUNTU上的GIT SERVER

    Git是一个开源的版本控制系统,由Linus Torvalds主导,用于支持Linux内核开发.每一个Git工作目录,都是一个完整的代码库,包含所有的提交历史.有能力跟踪所有的代码版本,而不会去依赖于 ...

  5. Bonobo Git Server (Simple git server for Windows.) 测试备忘

    Bonobo Git Server是一款Windows上的Git Server,它使用IIS即可,走的是Http协议,只要简单的安装就能使用,但是因为我的项目大小有1.35GB在 push 的时候一直 ...

  6. 在 mac os 上搭建 git server

    前言:之前学习了如何使用 git 后,一直想搭建一个本机搭建一个 git server 的,一开始不知道走了弯路用了 gitosis,折腾了我好几天都没配置好.昨晚查资料发现 gitosis 早就过时 ...

  7. Windows 下用 gogs 配置局域网 git server

    大道曙光 Windows 下用 gogs 配置局域网 git server 最近要用 C# 开发一个新的项目,所以需要在 Windows 局域网环境下构建一个 git server. 在 Window ...

  8. Bonbo Git Server

    Install This page covers simple Bonobo Git Server installation. Be sure to check prerequisites page ...

  9. ubuntu 14.04 安装git server

    版本信息 ubuntu : 14.04.1 git version 1.9.1 perl v5.10.1 ssh OpenSSH_6.6.1p1 本次安装的git server使用gitolite实现 ...

随机推荐

  1. 20170609批量生成WORD合同

    Sub NextSeven_CodeFrame() Application.ScreenUpdating = False Application.DisplayAlerts = False Appli ...

  2. 20170621xlVBA跨表转换数据

    Sub 跨表转置() Dim Wb As Workbook Dim Sht As Worksheet Dim oSht As Worksheet Dim Rng As Range Dim Index ...

  3. week 1

    day1 订正 学习AC自动机 day2 mobius反演 对偶图 codeforces day3 ZR模拟赛 订正 day4 复习AC自动机 题库 https://www.cnblogs.com/c ...

  4. python-day41--约束条件

    一 .介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性主要分为: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KE ...

  5. ubuntu 用户和root权限转换

    1,用户权限要转换为root 输入:sudo su   或者sudo -i  然后按照提示输入相应的密码你就可以转化为root用户了. 2,root权限切换成用户权限 输入:su  如果是服务器那就输 ...

  6. 10个CSS简写/优化技巧-摘自网友

    10个CSS简写/优化技巧23来源/作者:未知 类别:前端开发 字体大小:大|中|小 背景颜色:蓝|白|灰 ? ? CSS简写就是指将多行的CSS属性简写成一行,又称为CSS代码优化或CSS缩写.CS ...

  7. VAE demo

    先看tflearn 官方的: from __future__ import division, print_function, absolute_import import numpy as np i ...

  8. java并发编程:线程安全管理类--原子操作类--AtomicReferenceArray<E>

    1.类 AtomicReferenceArray<E> public class AtomicReferenceArray<E>extends Objectimplements ...

  9. httpclient 相关使用介绍

    httpclient中sessionId的获取与设置 public class HttpSessionId { public static void main(String[] args) throw ...

  10. C++ bitset

    itset存储二进制数位. bitset就像一个bool类型的数组一样,但是有空间优化——bitset中的一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一. bitset中的每个元 ...