gitea和golang组合实现hook自动化部署代码

码农天地 -
gitea和golang组合实现hook自动化部署代码
gitea和golang组合实现hook自动化部署代码背景

目前git代码仓库develop分支的代码要经常更新到测试服务器,使用传统的FTP上传代码太费力,使用git pull手动拉取分支,也不够放心。现在使用git中的hook来进行自动化部署代码。

思路

git服务&hook配置

git服务使用的是gitea。其中的hook配置如下

ps:没用gitlab实在是因为它内存占用太大

golang gin实现的web服务

用到两个核心类库

go-sh 执行Linux命令使用go-shgo-simplejson 快速获取json中的数据go-simplejson核心代码赏析
res := c.Request.Body
fmt.Println("hook结果", res)
bodydata, err := ioutil.ReadAll(res)
if err != nil {
   fmt.Println(err)
}
j, err := simplejson.NewJson(bodydata)
if err != nil {
   fmt.Printf("err", err)
}
repository, err := j.Get("repository").Get("full_name").String()
if err != nil {
   fmt.Printf("err", err)
}
fmt.Println("识别到的仓库是", repository)
clone_url, err := j.Get("repository").Get("clone_url").String()
if err != nil {
   fmt.Printf("err", err)
}
fmt.Println("识别到的clone_url是", clone_url)

完整代码,点击访问github仓库,请star :)

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

自动化部署gitgolanghookphp

扩展阅读

加个好友,技术交流

1628738909466805.jpg