post-receive in Windows---git hooks trigger Jenkins to build artifcat

如何在Windows上编写post-receive,当git用户push文件到git server时。检查commit message,如果包含RUN_BUILD就调用Jenkins build API编译项目。

环境设置:

1. 安装Jenkins ---流行的代码管理工具

选择Remote trigger scripts 在Jenkins Job build 配置项。

2. 安装scm-manager ---同时支持svn,git...

3. 安装git-client---需要用到git command

4. 安装wget command---访问URL in command

把post-receive.bat放在git hooks目录下。

 1 @ echo off
 2 set CI_JOB_NAME=CI-Test
 3 set JENKINS_BUILD_API=http://localhost:8080/job/%CI_JOB_NAME%/build?token=BUILD //set yourself token value in jenkins config page.
 4 ::read post-receive stdin parmameters
 5 set /p OLDREV_NEWREV_REFNAME=
 6 set OLDREV=%OLDREV_NEWREV_REFNAME:~0,40%
 7 set NEWREV=%OLDREV_NEWREV_REFNAME:~41,40%
 8 set REFNAME=%OLDREV_NEWREV_REFNAME:~82,999%
 9
10
11 set MESSAGE_FILE_TEMP=%CI_JOB_NAME%_COMMIT_MSG_TEMP.txt
12 ::Get commit message and retrive RUN_BUILD snippt
13 git log --pretty^=format:%%s %OLDREV%..%NEWREV% >%MESSAGE_FILE_TEMP%
14
15
16 findstr /c:RUN_BUILD %MESSAGE_FILE_TEMP%
17 if %ERRORLEVEL% == 0 (
18 "C:\Program Files (x86)\GnuWin32\bin\wget.exe" ^
19     --header="Content-Type:text/plain;charset=UTF-8" ^
20     --output-document="-" ^
21     --timeout=2 ^
22     --auth-no-challenge ^
23     --user=Jenkins User ^
24     --password=Jenkins password^
25     %JENKINS_BUILD_API% >NUL 2>$1)
26 del %MESSAGE_FILE_TEMP%

当push code到git server时就会触发Jenkins 编译项目。

时间: 2024-10-24 19:58:41

post-receive in Windows---git hooks trigger Jenkins to build artifcat的相关文章

Windows+Git+TortoiseGit+COPSSH安装图文教程【转】

转自:http://blog.csdn.net/aaron_luchen/article/details/10498181/ Windows+Git+TortoiseGit+COPSSH 安装图文教程 准备工作: 1. Git-1.8.1.2-preview20130201.exe 下载地址: https://code.google.com/p/msysgit/downloads/list 2. Copssh_4.1.0_Installer.exe 下载地址: http://download.c

Git Hooks简介

1. 什么是Git Hooks? 话说,如同其他许多的版本控制系统一样,Git也具有在特定事件发生之前或之后执行特定脚本代码功能(从概念上类比,就与监听事件.触发器之类的东西类似).Git Hooks就是那些在Git执行特定事件(如commit.push.receive等)后触发运行的脚本. 按照Git Hooks脚本所在的位置可以分为两类: 本地Hooks,触发事件如commit.merge等. 服务端Hooks,触发事件如receive等. 2. Git Hooks能做什么? Git Hoo

使用Git Hooks实现开发部署任务自动化

使用Git Hooks实现开发部署任务自动化 提供:ZStack社区 前言 版本控制,这是现代软件开发的核心需求之一.有了它,软件项目可以安全的跟踪代码变更并执行回溯.完整性检查.协同开发等多种操作.在各种版本控制软件中,git是近年来最流行的软件之一,它的去中心化架构以及源码变更交换的速度被很多开发者青睐. 在git的众多优点中,最有用的一点莫过于它的灵活性.通过"hooks"(钩子)系统,开发者和管理员们可以指定git在不同事件.不同动作下执行特定的脚本. 本文将介绍git hoo

windows git 更改为unix模式换行符决解方法

背景 在各操作系统下,文本文件所使用的换行符是不一样的.UNIX/Linux 使用的是 0x0A(LF),但 DOS/Windows 一直使用 0x0D0A(CRLF)作为换行符. 问题 需要把再Windows git下模式dos改为unix . 方法命令 查看当前文本的模式类型,一般为dos,unix :set ff #提交时转换为LF,检出时转换为CRLF git config --global core.autocrlf true #提交时转换为LF,检出时不转换(以上问题使用此命令可解决

通过Gradle Plugin实现Git Hooks检测机制

背景 项目组多人协作进行项目开发时,经常遇到如下情况:如Git Commit信息混乱,又如提交者信息用了自己非公司的私人邮箱等等.因此,有必要在Git操作过程中的适当时间点上,进行必要的如统一规范.安全检测等常规性的例行检测. 面对此类需求,Git为我们提供了Git Hooks机制.在每个项目根目录下,都存在一个隐藏的.git目录,目录中除了Git本身的项目代码版本控制以外,还带有一个名为hooks的目录,默认情况下,内置了常用的一些Git Hooks事件检测模板,并以.sample结尾,其内部

Windows优化大师最新版 V7.99 Build 12.604发布

本文由 www.169it.com 收集整理 Windows优化大师是一款功能强大的系统工具软件,它提供了全面有效且简便安全的系统检测.系统优化.系统清理.系统维护四大功能模块及数个附加的工具软件.使用Windows优化大师,能够有效地帮助用户了解自己的计算机软硬件信息:简化操作系统设置步骤:提升计算机运行效率:清理系统运行时产生的垃圾:修复系统故障及安全漏洞:维护系统的正常运转. Windows优化大师特点 1.具有全面的系统优化选项 向用户提供简便的自动优化向导 优化项目均提供恢复功能 2.

Windows+Git+TortoiseGit+COPSSH安装图文教程+个人的一些补充

首先要感谢"非亦不可",本人最近突然把项目服务器搞坏了,而项目又急需用,不得已又急用,大部分参照"非亦不可"的博文才成功搭建好服务器.但是遵照"非亦不可"的教程,有一些小的地方还是需要注意一下,我做了适当的修改,然后成功搭建好了服务器.以下绝大部分都是转自http://blog.csdn.net/aaron_luchen/article/details/10498181/,所以这篇文章算大半转载,小半原创. 这里再次对"非亦不可&quo

Windows+Git+TortoiseGit+COPSSH 安装教程及问题收集

准备工作: 1. git-1.8.1.2-preview20130201.exe 下载地址: https://code.google.com/p/msysgit/downloads/list 2. Copssh_4.1.0_Installer.exe 下载地址: http://download.csdn.net/download/zzjzmdx/4636227 3. TortoiseGit-1.8.5.0-64bit.msi 下载地址: https://code.google.com/p/tor

Windows+Git+TortoiseGit+COPSSH安装图文教程 转载

准备工作: 1. Git-1.8.1.2-preview20130201.exe 下载地址: https://code.google.com/p/msysgit/downloads/list 2. Copssh_4.1.0_Installer.exe 下载地址: http://download.csdn.net/download/zzjzmdx/4636227 3. TortoiseGit-1.8.5.0-64bit.msi 下载地址: https://code.google.com/p/tor