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菜单路经: 主菜单-->我的首选项--->一般设置--->多语言条目
- IndentityServer4
官网: https://identityserver4.readthedocs.io/en/latest/index.html 比较好的中文博客: 晓晨Master: https://www.cnbl ...
- svn idea 修改文件,文件不变色
删除后,重新添加. 我这里是什么也没有选择,选上Subversion后,保存,再修改文件,文件颜色就变了 Settings-->Version Control
- iOS 开发中keyChain的使用
我们开发中很多数据都是直接存储到本地沙盒中的,这样当应用程序被卸载后,本地的数据都会被删除.如果我们不想让数据在卸载程序的时候丢失,我们可以用KeyChain来存储我们想要的数据.苹果提供了原生的一套 ...
- Tips_关闭按钮的简单实现 && Felx实现水平垂直居中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java_集合
定义: 是一种工具,就像是容器,能存储任意数量的具有共同属性的对象. 与数组比较优点: (1)数组定义后长度不可变,集合长度可变: (2)数组只能通过下标访问,且下标类型只能是数字型,而有的集合(ma ...
- JavaScript经典作用域问题(转载)
题目 var a = 10; function test(){ a = 100; console.log(a); console.log(this.a); var a; console.log(a); ...
- oracle的知识点总结
体系结构:数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制.体系结构包括:实例(instence),数据库文件(database),用户进程(user proces ...
- 发现了学校教务处官网的两个BUG
许久没有写博客了,感觉自己技术还差的好多-_-好像没啥好写的,之前学完了某易的WEB安全基础视频教程,自认对WEB安全入了门,忍不住就想拿学校教务处官网来练练手 教务处登录界面如图所示(为保护隐私,部 ...
- LeetCode编程训练 - 合并查找(Union Find)
Union Find算法基础 Union Find算法用于处理集合的合并和查询问题,其定义了两个用于并查集的操作: Find: 确定元素属于哪一个子集,或判断两个元素是否属于同一子集 Union: 将 ...