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 下加载. 如果你需要全平台,那么这肯定不是你需要的结果. 需求 其实我很早就想折腾这个了,但是,, ...
随机推荐
- PeopleSoft 启用多语言输入
今天,我的一位同事询问有的人有语言选择,有的人没有(如下图所示). 以下是PT856.09菜单路经: 主菜单-->我的首选项--->一般设置--->多语言条目
- Spring源码学习-容器BeanFactory(五) Bean的创建-探寻Bean的新生之路
写在前面 上面四篇文章讲了Spring是如何将配置文件一步一步转化为BeanDefinition的整个流程,下面就到了正式创建Bean对象实例的环节了,我们一起继续学习吧. 2.初始化Bean对象实例 ...
- 使用Bandwagon服务器ftp解决git clone速度慢的问题
写在前面 git clone速度往往很慢,我们可以先在身处美国的服务器上git clone,然后把文件用ftp传回来即可. 开始 我们以opencv为例 git clone https://githu ...
- easyui自定义皮肤及缺陷修改
引言: 一个商业项目的需要,又因为时间紧迫的关系,准备购买一套简洁,易用,可定制化强的UI,经过对国内外多家UI产品进行了对比, 包括:FineUI, EasyUI, EXT.NET, EXTJS, ...
- 常见的java设计模式
单例模式 简单点说,就是一个应用程序中,某个类的实例对象只有一个,你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取它们的实例. getInstan ...
- CS20SI-tensorflow for research笔记: Lecture2
本文整理自知乎专栏深度炼丹,转载请征求原作者同意. 本文的全部代码都在原作者GitHub仓库github CS20SI是Stanford大学开设的基于Tensorflow的深度学习研究课程. Tens ...
- HttpSession的API
//获取Session对象request.getSession()request.getSession(boolean create)//获取SessionIdgetId()//获取当前session ...
- [Swift]LeetCode110. 平衡二叉树 | Balanced Binary Tree
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...
- [Swift]LeetCode323. 无向图中的连通区域的个数 $ Number of Connected Components in an Undirected Graph
Given n nodes labeled from 0 to n - 1 and a list of undirected edges (each edge is a pair of nodes), ...
- [Swift]LeetCode572. 另一个树的子树 | Subtree of Another Tree
Given two non-empty binary trees s and t, check whether tree t has exactly the same structure and no ...