首页 > 其他 > 详细

git-golang 半自动布署或者拉取测试分支

时间:2020-07-10 12:49:31      阅读:74      评论:0      收藏:0      [点我收藏+]

1、最近在看gitblit的自动布署方案,都 说要到根目录弄一个XXX文件,本来就对gitblit没有很大的好感,这样一来感觉就更头大了。

2、查看其他的自动布署,无非都是向指定的服务器发一个指令,然后让指定服务器拉取代码,或者做对应的操作。

3、于是想到了提供一个url地址,当需要更新布署的时候访问一下这个地址就能执行对应的操作。

4、运用GO语言,使用gin框架很快搭建起来。使用go cammand的操作来执行对应的XX.sh文件进行处理

5、贴一个关键代码

func(obj *GitCmdController)Webhook(ctx *gin.Context){
	checkErr,reString:=tools.CheckTime("webhook")
	if checkErr!=nil{
		vo.OutPut(ctx,reString)
	}else {
		command := "./webhook.sh"
		cmd := exec.Command("/bin/bash", "-c", command)
		output, err := cmd.Output()

		if err != nil {
			vo.OutPut(ctx, err.Error())
		} else {
			vo.OutPut(ctx, string(output))
		}
	}
}

 

定义 一个路由-》检测是不是频繁更新-》执行脚本-》完成任务

6、要点:返回126错误是执行的sh文件的权限加打开chmod +x xxx.sh 在window下的xxx.sh文件要处理为unix文件,否则126还是一直126  ,vi xxx.sh   :set ff=unix就可以了

7、这种方式后续还能做更多的扩展。 

git-golang 半自动布署或者拉取测试分支

原文:https://www.cnblogs.com/bfyang5130/p/13278564.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!