Jenkins结合.net平台综合之监听git仓库并自动摘取最新代码编译
前面章节我们讲解了Jenkins结合.net平台工具以及一些第三方工具实现项目自动还原,自动编译,自动测试和自动发布.然而实现自动化还有一个关键的步骤就是监听源码仓库变化然后从仓库拉取最新代码,然后再执行刚才所说的步骤.
下面就讲一下Jenkins如何监听git仓库变化,如果有变化则拉取最新代码进行编译,测试和发布.
首先打开Jenkins,我们新建一个名为PollSCM的freestyle项目,
我们以前只用到了Build栏,这里我们要设置Souce Code Management栏

默认的选项是None无任何源代码管理工具,这里要结合的是Git,所我以们选择Git

选择了git以后出现以上界面,其中Repository Url为git仓库的地址,我们输入自动项目仓库的git地址.
下面是密码我们点击Add,出现以下界面

这里我们输入用户名,密码这两个是关键的,id和description可以输也可以不输,完成后点击Add
这时候Credentials栏会出现一个下拉框

我们选择刚才添加的用户名和密码
下面是分支,由于测试仓库中只有一个master传分支,作为演示我们就使用master分支.
然后往下拉到Builder Triggers栏

这一栏之前我们使用过build periodically,这里我们选择Poll SCM,就是不断轮训SCM的变化,如果有变化则拉取

我们勾选Poll SCM后出现上面内容,我们在Schedule里输入* * * * * 这里的*并不是密码,每隔一分钟查询一次git变化,关于git定时任务格式配置可以参看以往的文档.
这里我们不再演示拉取后如何构建,后面会有一个完整示例.
我们点击保存,修改本地代码然后提交一次,过一分钟后查看是否有构建产生.

我们修改了示例代码库中tools文件夹下的readme文件然后提交来触发一次构建

提交完以后我们看到#2构建正在执行.
这里大家可能会有疑问,git拉到的项目拉到了哪里的呢.其实是拉到了Jenkins安装目录下的workspace下的和项目同名的文件夹中(所谓项目同名就是和我们在Jenkins管理界面创建的项目名)
我们打开Jenkins目录下的workspace/pollscm/tools下的readme文件(这个文件原来是空的)

可以看到我们刚才提交的内容已经正确拉取了.
Jenkins结合.net平台综合之监听git仓库并自动摘取最新代码编译的更多相关文章
- Jenkins结合.net平台综合应用之通过SSH方式拉取代码
上一节我们讲解了如何Jenkins如何通过轮训来监听git仓库变化然后拉取最新代码,上一节中我们使用的是https方式,然后正式环境中企业更倾向使用ssh方式.这里我们讲解一下如何通在Jenkins中 ...
- React 函数组件中对window添加事件监听resize导致回调不能获得Hooks最新状态的问题解决思路
React 函数组件中对window添加事件监听resize导致回调不能获得Hooks最新状态的问题解决思路 这几天在忙着把自己做的项目中的类组件转化为功能相同的函数组件,首先先贴一份该组件类组件的关 ...
- java里监听相关ActionListene的理解。========此代码是错误的,
package com.aa; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event. ...
- Jenkins结合.net平台综合之完整示例项目
前面每一个部分我们都是介绍的单个功能,这里介绍一个完整项目,本文中所用到的命令都放在了github示例代码仓库中 https://github.com/mrtylerzhou/netdevops 命令 ...
- Jenkins结合.net平台综合之权限修正和文件排除
笔者在发布项目的时候遇到这样一个问题,第一次发布的时候成功发布,然后再次发布失败.但是这个问题很快就排除了,这里提出来是为了帮助遇到这个问题的小伙伴,以顺利避开坑.之所以会这样是因为我们在设置权限的时 ...
- Jenkins结合.net平台综合应用之使用FileZilla搭建ftp服务器
上一节我们讲解了如何编译web项目,web项生成以后我们是手动复制到iis目录下的,这显然不符合devops初衷,这里我们讲解如何利用ftp协议把文件传到远程服务器的iis目录下. 这一讲分两部分一部 ...
- JS监听checkbox的选择获取取消事件代码案列
function OncheckBox(index){ if ($(index).attr("checked") == "checked") { alert($ ...
- Jenkins结合.net平台工具之Nunit
有时候我们需要对从git上拉取的项目进行单元测通过以后才可以发布到测试环境,.net平台下单元测试的框架也很多例如mstest,nunit,xunit等,下面以Nunit为例讲解如何通过Jenkins ...
- Chrome 监听 console 打开
这个算是 Chrome only 其他的我没测试,也不想测试.因为我的控制台脚本仅仅在 Chrome 下加载. 如果你需要全平台,那么这肯定不是你需要的结果. 需求 其实我很早就想折腾这个了,但是,, ...
随机推荐
- ios中getTime()的兼容性问题
· var getTime = function(time){ var myDate = new Date(time); var u = navigator.userAgent; var isAndr ...
- jieba中文分词
jieba中文分词¶ 中文与拉丁语言不同,不是以空格分开每个有意义的词,在我们处理自然语言处理的时候,大部分情况下,词汇是对句子和文章的理解基础.因此需要一个工具去把完整的中文分解成词. ji ...
- Android进程间通信IPC
一.IPC的说明 IPC是Inter-Process Communication的缩写,含义为进程间通信或跨进程通信,是指两个进程之间进行数据交换的过程. IPC不是Android独有的,任何一个操作 ...
- Redis sentinel 哨兵模式
一.sentinel介绍 Sentinel作用: 1):Master状态检测 2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Maste ...
- C# 对串口的操作
初始化 串口 SerialPort sp = new SerialPort(); sp.PortName = BasicParameters.IniReadValue(strPath, "C ...
- vue — 安装并创建vue项目
1.先从node.js官网(https://nodejs.org/en/download/) 下载并安装node,然后通过在命令行输入node -v命令,查看node的版本,要是出现相应的版本号就证明 ...
- javabean简介
Javabean简介 JavaBean是一个可重复使用的软件组件.实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean.由于javabean是 ...
- 长沙学院APP
一.开发背景 作为一名长大学子,我认为我们学校没有一个自己专属的手机APP是一件遗憾的事情,虽然大部分的211,985高校也没有一个自己专属的APP,所以,要是我们学校能开发一个出来,那逼格肯定就不一 ...
- ABP入门系列(1)——通过模板创建MAP版本项目
ABP入门系列目录--学习Abp框架之实操演练 一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包 ...
- JavaScript 异步编程的前世今生(上)
前言 提到 JavaScript 异步编程,很多小伙伴都很迷茫,本人花费大约一周的业余时间来对 JS 异步做一个完整的总结,和各位同学共勉共进步! 目录 part1 基础部分 什么是异步 part2 ...