git和redmine同步
最近实现了github以及内部的gitbucket与redmine的同步。
redmine是内部使用的一套工单系统,用于跟踪bug和需求,由于最近同时开发的版本比较多,在不同分支的提交容易漏掉。现在改为用redmine的工单跟踪需求和bug修复,提交的时候,只要在提交日志里写上单号,机器人就可以将提交信息同步到表单,可以方便的跟踪到提交有没有漏提交到指定分支。
实现上居然很简单,整个过程还是很愉悦的。gitbucket方面比较简单,gitbucket的仓库属主可以添加一个hook,每次提交的时候gitbucket会调一下hook。调用里会包含提交的详细信息,包括分支、提交信息、具体改动的网页版地址。只要用正则搜出单号,然后利用redmine的rest api提交到表单里,就完成任务了。
github的动手前觉得困难一点,因为github在外网,工单系统是内网访问的。没想到github体贴的推荐了ngrok作为安全的内网穿透工具。指定好协议和端口号之后,启动ngrok客户端,会自动随机生成一个https的二级域名。对这个域名的访问,会落到内网的ngrok客户端上。中间的通讯是加密的。这项服务这么优秀,居然还是免费的!比国内的花某壳好多了。
打通内外网之后,剩下的步骤就和gitbucket的相差不多了。github的好处是每个人都可以对仓库设置自己的hook,还不止一个。遇到的小小的梗,是github的时间就是国内时区的,不像gitbucket还要从零时区算时间偏移。调试也很方便,每一次推送都可以在github上查阅到具体的请求内容,还能方便的redeliver,调到合适为止。
以后可以在表单里写明需要提交到哪些分支,然后提交后隔一段时间自动检查,发现有漏提交就提醒程序或者策划,不过目前很懒,没有动力做这个QAQ
git和redmine同步的更多相关文章
- 在windows下安装Git并用GitHub同步
准备环境: 1,注册github账户 2,下载安装git(下载地址:https://git-scm.com/download/win) 注释: git是什么? git是版本管理工具,当然也是分布式的管 ...
- GIT实践:同步远程分支
GIT实践:同步远程分支 克隆远程仓库对应分支 克隆时指定分支,语法为:git clone -b 分支名 远程地址. 同步远程分支 更新远程分支 当Git仓库地址发生变化后,首先更新远程地址 git ...
- Idea中通过Git将代码同步到GitHub
一.Idea中配置Git 点击IntelliJ IDEA->Preferences...->Version Control->Git->Path to Git executab ...
- 使用putty与SSHSecureShellClient登录远程服务器完成与本地Git项目的同步
使用软件远程登录管理服务器 今天给大家介绍两款远程登录管理服务器的软件(Putty和SSHSecureShellClient),这两款也是我在工作中经常的软件. 使用 PuTTY 远程登录管理服务器 ...
- Git与GitHub学习笔记(八)git如何同时同步提交到码云和GitHub上
前言: 今天github push代码一直push不上去,打算就备份一份代码带国内开源码云上. Github容易出现的情况是: 国内访问速度比较慢, 如果被墙掉的话,就直接没发使用了 如果开源个PHP ...
- HBuilder git合作-代码同步
1. 以下场景的操作都是同样的,包括:新建了文件.删除了文件.独占式修改文件(即不存在多人同时修改一个文件的情况) 提交 项目修改完成后,选中项目,右键Team->Commit 一般是选择Com ...
- Git与GitHub同步
如何通过Git Bash实现本地与远端仓库——GitHub的同步 1.下载安装Git:下载网址 2.在自己的github上新建一个repository 例如我这里新建了一个叫test的reposito ...
- 将git本地仓库同步到远程仓库
同步到远程仓库可以使用git bash 也可以使用tortoiseGit 1.使用git bash 在仓库的所在目录,点击右键选择“Git Bash Here”,启动git bash程序. 然后再gi ...
- git设置远程同步分支
git push --set-upstream origin yourBranchName
随机推荐
- JVM工具jstat使用说明
输入:jstat -help得到以下帮助信息 Usage: jstat --help|-options jstat -<option> [-t] [-h<lines>] < ...
- idea crack
ThisCrackLicenseId-{ “licenseId”:”11011”, “licenseeName”:”Wechat”, “assigneeName”:”tree-deep-see-dee ...
- 20190219备份 java spring boot 学习链接(日/英)
Building web applications with Spring Boot and Kotlin https://www.slideshare.net/masuda220/spring-82 ...
- css样式支持左右滑动要点
div 包含 ul ,ul 包含 li div宽度固定,ul 宽度随着li的可以无限增加,li 左右滑动的最小容器. div 样式position:relative;width:xxpx;height ...
- 动态规划———最长公共子序列(LCS)
最长公共子序列+sdutoj2080改编: http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Contest/contestproblem/cid/ ...
- python笔记22-常用模块
模块就是一个python文件,用哪个模块就要import哪个模块 1.调用模块 # import model #import的本质就是把这个python从头到尾执行一遍## model.run1()# ...
- Java虚拟机学习-对象的创建
虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载.解析和初始化过.如果没有,必须先执行相应类的加载过程. 类加载 ...
- Windows下Caffe实现图像分类
前言:最近参加百度点石大赛,完成商家招牌的分类和检测,把实验过程简单记录下来,具体步骤如下. 环境配置:windows下的visual studio2013和caffe(cpu版本)环境搭建请看我另一 ...
- ecplise包的层次结构选择
ecplise包的层次结构选择 平坦方式: 分层方式:
- scrapy splash 之一二
scrapy splash 用来爬取动态网页,其效果和scrapy selenium phantomjs一样,都是通过渲染js得到动态网页然后实现网页解析, selenium + phantomjs ...