前面章节我们讲解了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仓库并自动摘取最新代码编译的更多相关文章

  1. Jenkins结合.net平台综合应用之通过SSH方式拉取代码

    上一节我们讲解了如何Jenkins如何通过轮训来监听git仓库变化然后拉取最新代码,上一节中我们使用的是https方式,然后正式环境中企业更倾向使用ssh方式.这里我们讲解一下如何通在Jenkins中 ...

  2. React 函数组件中对window添加事件监听resize导致回调不能获得Hooks最新状态的问题解决思路

    React 函数组件中对window添加事件监听resize导致回调不能获得Hooks最新状态的问题解决思路 这几天在忙着把自己做的项目中的类组件转化为功能相同的函数组件,首先先贴一份该组件类组件的关 ...

  3. java里监听相关ActionListene的理解。========此代码是错误的,

    package com.aa; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event. ...

  4. Jenkins结合.net平台综合之完整示例项目

    前面每一个部分我们都是介绍的单个功能,这里介绍一个完整项目,本文中所用到的命令都放在了github示例代码仓库中 https://github.com/mrtylerzhou/netdevops 命令 ...

  5. Jenkins结合.net平台综合之权限修正和文件排除

    笔者在发布项目的时候遇到这样一个问题,第一次发布的时候成功发布,然后再次发布失败.但是这个问题很快就排除了,这里提出来是为了帮助遇到这个问题的小伙伴,以顺利避开坑.之所以会这样是因为我们在设置权限的时 ...

  6. Jenkins结合.net平台综合应用之使用FileZilla搭建ftp服务器

    上一节我们讲解了如何编译web项目,web项生成以后我们是手动复制到iis目录下的,这显然不符合devops初衷,这里我们讲解如何利用ftp协议把文件传到远程服务器的iis目录下. 这一讲分两部分一部 ...

  7. JS监听checkbox的选择获取取消事件代码案列

    function OncheckBox(index){ if ($(index).attr("checked") == "checked") { alert($ ...

  8. Jenkins结合.net平台工具之Nunit

    有时候我们需要对从git上拉取的项目进行单元测通过以后才可以发布到测试环境,.net平台下单元测试的框架也很多例如mstest,nunit,xunit等,下面以Nunit为例讲解如何通过Jenkins ...

  9. Chrome 监听 console 打开

    这个算是 Chrome only 其他的我没测试,也不想测试.因为我的控制台脚本仅仅在 Chrome 下加载. 如果你需要全平台,那么这肯定不是你需要的结果. 需求 其实我很早就想折腾这个了,但是,, ...

随机推荐

  1. 网页加水印 svg 方式

    /** *网页加水印 svg 方式 * * @export * @param {*} [{ * container = document.body, * content = '请勿外传', * wid ...

  2. Golang的模块管理Module

    Golang 1.11版本终于支持了官方的模块依赖管理功能,1.11以前想要实现依赖管理只能够通过借助第三方库来实现,1.11以前的版本Golang项目必须依赖以GOPATH,从当前版本开始Golan ...

  3. django介绍及路由系统

    第一:Python的web框架介绍 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引 ...

  4. java课程之团队开发冲刺阶段1.6

    一.总结昨天进度 1.依照视频学习了sqlite,但是由于视频的不完整性导致并不知道代码的实际效果怎么样. 二.遇到的问题 1.依据上一条,在date目录下date文件夹中,的确发现了数据库的文件,但 ...

  5. java课程之团队开发冲刺阶段1.5

    一.总结昨天进度 1.昨天由于时间较少,没有太多的时间来进行学习Sqlite 二.遇到的困难 1.由于最终的程序需要调用本地的数据库,所以我们需要在安装程序的时候就需要直接附带安装一个本地的数据库到手 ...

  6. 【记录】Windows 操作系统常用快捷命令

    https://www.lifewire.com/command-line-commands-for-control-panel-applets-2626060 打印机      control pr ...

  7. 深入解析Java反射-invoke方法

    博客原文:http://www.sczyh30.com/posts/Java/java-reflection-2/ 上篇文章中回顾了一下Java反射相关的基础内容.这一节我们来深入研究Method类中 ...

  8. Vue 学习笔记 -- inline-template

    简书 更方便的使用私有子组件 定义一个私有子组件时,如果子组件的template过长会使得代码非常难以阅读 这时可以使用内联模版 但是如果写成这样 为毛用要子组件呢?

  9. 【RL-TCPnet网络教程】第27章 DNS域名系统基础知识

    第27章      DNS域名系统基础知识 本章节为大家讲解DNS(Domain Name System,域名系统),通过前面章节对TCP和UDP的学习,需要大家对DNS也有个基础的认识. (本章的知 ...

  10. [Swift]LeetCode145. 二叉树的后序遍历 | Binary Tree Postorder Traversal

    Given a binary tree, return the postorder traversal of its nodes' values. Example: Input: [1,null,2, ...