前面章节我们讲解了Jenkins结合.net平台工具以及一些第三方工具实现项目自动还原,自动编译,自动测试和自动发布.然而实现自动化还有一个关键的步骤就是监听源码仓库变化然后从仓库拉取最新代码,然后再执行刚才所说的步骤. 下面就讲一下Jenkins如何监听git仓库变化,如果有变化则拉取最新代码进行编译,测试和发布. 首先打开Jenkins,我们新建一个名为PollSCM的freestyle项目, 我们以前只用到了Build栏,这里我们要设置Souce Code Management栏 默认的选…
上一节我们讲解了如何Jenkins如何通过轮训来监听git仓库变化然后拉取最新代码,上一节中我们使用的是https方式,然后正式环境中企业更倾向使用ssh方式.这里我们讲解一下如何通在Jenkins中配置ssh. 首先打开Jekins我们创建一个名为PullOverSSH的项目 在Source Code Management栏里,我们仍然选择git,这次仓库地址我们输入ssh地址   Credentials里我们点击后面的Add按钮. 出现如下对话框 Kind下拉选择里选择如图示选项,priva…
React 函数组件中对window添加事件监听resize导致回调不能获得Hooks最新状态的问题解决思路 这几天在忙着把自己做的项目中的类组件转化为功能相同的函数组件,首先先贴一份该组件类组件的关键代码: import React, {Component} from "react" // 防抖组件 import { debounce } from 'throttle-debounce'; // 引入connect用于连接UI组件与redux import {connect} fro…
package com.aa; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.*; //事件监听 import javax.swing.*; class West7 exte…
前面每一个部分我们都是介绍的单个功能,这里介绍一个完整项目,本文中所用到的命令都放在了github示例代码仓库中 https://github.com/mrtylerzhou/netdevops 命令位于/projects/GitTest/cmds目录下 打开Jenkins,我们新建一个名为AFullBuild的项目 Source Code Management栏配置如上 Build Trigger栏配置如上.这两项前面都说过,这里不再介绍. Build 栏里我们添加以上三个步骤,特别需要注意的…
笔者在发布项目的时候遇到这样一个问题,第一次发布的时候成功发布,然后再次发布失败.但是这个问题很快就排除了,这里提出来是为了帮助遇到这个问题的小伙伴,以顺利避开坑.之所以会这样是因为我们在设置权限的时候只给给了用户读和写的权限,而没有给删除权限,因此造成无法覆盖文件. 解决办法很简单,我们打开filezilla server,点击小人图标,进入用户设置页,然后点击shared folder进入目录权限配置栏 这里我们把所有的权限都勾选,重复发布失败的问题就解决啦. 下面我们来解决另外一个问题.我…
上一节我们讲解了如何编译web项目,web项生成以后我们是手动复制到iis目录下的,这显然不符合devops初衷,这里我们讲解如何利用ftp协议把文件传到远程服务器的iis目录下. 这一讲分两部分一部分为ftp服务器的搭建,我们使用的是FileZilla server,另一部分是客户端环境的搭建,我们使用的是winscp.这里你可能会有疑问,filezilla也有客户端程序,为什么只在服务端使用filezilla而在客户端使用winscp呢. 这是因为我们在客户端要实现自动化,必须支持命令,而f…
function OncheckBox(index){ if ($(index).attr("checked") == "checked") { alert($(index).val()); alert("选中"); } //取消 else { alert("取消"); } } <input type="checkbox" id="payTypes1" name="pay…
有时候我们需要对从git上拉取的项目进行单元测通过以后才可以发布到测试环境,.net平台下单元测试的框架也很多例如mstest,nunit,xunit等,下面以Nunit为例讲解如何通过Jenkins对项目进行单元测试 关于如何使用单元测试框架,读者可以参考特定框架的官方文档或者网络博客,这里不对其进行展开. 首先我们新建一个NunitTest项目,新建项目以后,我们需要通过Nuget添加以下两个包:Nunit和Nunit.console.然后任意写一些单元测试代码. 安装成功后,你会在项目的p…
这个算是 Chrome only 其他的我没测试,也不想测试.因为我的控制台脚本仅仅在 Chrome 下加载. 如果你需要全平台,那么这肯定不是你需要的结果. 需求 其实我很早就想折腾这个了,但是,,因为懒,拖了很久,直到周末,我看到服务器上统计,发现流量翻了一倍,结果访问量还是一样的时候,我才下决心折腾. 知之为知之不知谷歌之 一开始,谷歌一番,发现有两种思路. 第一个是 sindresorhus 大神写的 devtools-detect,算是全平台兼容(除IE),但独立窗口打开的时候是检测不…
1.在Windows下用CMD netstat命令可以获得当前进程监听端口号的信息,如netstat -ano可以看到IP.port.状态和监听的PID. 那么可以执行CMD这个进程得到监听的端口号信息,C#代码如下: //进程id int pid = ProcInfo.ProcessID; //存放进程使用的端口号链表 List<int> ports = new List<int>(); Process pro = new Process(); pro.StartInfo.Fil…
前言 随着前端技术的飞速发展,前端开发也从原始的刀耕火种,向着工程化效率化的方向发展.在各种开发框架之外,打包编译等技术也是层出不穷,开发体验也是越来越好.例如HMR,让我们的更新可以即时可见,告别了手动F5的情况.其实现就是监听文件变化自动调用构建过程.下面就关注下如何实现node监听文件变化. 场景 假定要监听index.js,每当内容更改重新编译. 我们就用简单的console来标识执行编译.下面就是实现该功能. node原生API fs.watchFile 翻下node的文档就会看到一个…
在上一篇博客中我们表述完了防止提交成功后多余操作提交的一个过程:其中的精髓在于ajax的触发事件的使用. 而这篇博客主要想说明一下如何实时的判断出表单是否发生变化. 问题表述: 在网页前端的开发过程中时常遇到这样的需求,监听表单的状态. 对于表单的状态为非就是,表单内容发生变化.表单内容没有发生变化. 作为开发者的我们要做的就是: 当表单发生变化后实时的进行相应的操作: 表单没有变化(在这里我个人将,在没有提交前表单内容变动了,但是表单内容最终还是和初始一样回到最初的内容都视为表单没有变动)在进…
.NET中把“事件”看作一个基本的编程概念,并提供了非常优美的语法支持,对比如下C#和Java代码可以看出两种语言设计思想之间的差异. // C#someButton.Click += OnSomeButtonClick; // JavasomeButton.addActionListener( new ActionListener(){ public void actionPerformed(){ ... } }); 在我们的软件中就大量使用事件来对监听者与发布者解耦,但也遇到了一些局限,在这…
Oracle 监听器日志文件过大导致监听异常 db版本:11.2.0.1 os版本:windows2008 现象: 应用异常,无法连接数据库.登陆数据库服务器,查看监听已经断掉.尝试重启监听,重启失败.查看监听日志listener.log的大小已经超过4G. 解决方法: 删除listener.log(删除前可以先做备份),然后重启监听.监听重启后会自动创建一个新的日志文件. 补充: 在监听进程运行时,无法对listener.log做删除或者重命名操作. 如果不想重启监听,删除监听日志.可以按如下…
1.事件监听机制:       A:事件源          事件发生的地方       B:事件             就是要发生的事情       C:事件处理       就是针对发生的事情做出的处理方案       D:事件监听       就是把事件源和事件关联起来 2.举例:人受伤事件. 事件源:人(具体的对象)         Person p1 = new Person("张三");         Person p2 = new Person("李四&qu…
wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随意定制修改.本文分享其中短信监听接收器,用于自动获取短信验证码,然后自动填写到验证码区域代码,供技术员参考学习. package cn.smssdk.gui; import android.content.BroadcastReceiver; import android.content.Context; import a…
原因 今天在使用element-ui时,el-input组件监听不了回车事件,如下代码没有想要的效果: <el-input class="search-input" placeholder="请输入内容" v-model="searchText" @keyup.enter="search()"></el-input> 原因应该是element-ui自身封装了一层input标签之后影响了事件的监听,在el…
/* 事件监听器 addEventListener() removeEventListener() 传统事件绑定: 1.重复添加会,后添加的后覆盖前面的. */ 示例代码中的html结构: <body> <button id = "btn1">按钮</button> </body> //代码示例 window.onload = function(){ //传统事件绑定 var oBtn = document.getElementById(…
组件首先要先注册事件处理器,当用户单击组件.移动鼠标或者敲击键盘时都会产生事件(Event),一旦有时间发生,应用程序就会做出对该事件的响应,这些组件就是事件源(Event source). 接受.解析和处理事件,实现和用户交互的方法称为事件处理器(Event handler). 事件源(即组件)可以产生多种不同类型的事件,也可以注册多种不同类型的事件监听器,当事件源(组件)上发生某种事件,生成相应的事件对象,该对象中封装了有关该事件的各种信息.该对象被传递到相应的注册的事件处理器,此时事件的处…
1.本代码适用于 bootstrap V3 的 页面滚动监听 2.效果: 3.代码: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1,…
http://www.cnblogs.com/SLchuck/p/5904000.html https://i.cnblogs.com/EditPosts.aspx?postid=7995179&update=1 https://segmentfault.com/a/1190000010048073 agular5 父子组件之间传值是实用 第一类:父子组件间的通信 @Input 和@Output 当然一般传值变化是指父组件像子组件传的值变化的情况,如地图zoom变化 当筛选范围变化时地图比例尺变…
具体谈如何实现JS为句柄添加监听函数之前先看一段代码,算是抛出这个问题. <html> <head> <title>JS为句柄添加监听函数</title> <script> function message(){ alert("hello!"); } </script> </head> <body> <center> <div onclick="message()…
Vue 提供了一种通用的方式来观察和响应 Vue 实例上的数据变动:监听属性 watch. 虽然watch的滥用会导致性能不佳,但在一些情况下我们还是需要watch,使得代码更加简洁.逻辑更加清晰(其实就是嫌麻烦...). 接下来我将逐步讲解微信小程序中如何实现一个监听器 watch,若想直接看最终代码,可直接滑动至底部. 监听器的原理,将data中需监听的属性写在watch对象中,并给其提供一个方法,当被监听属性的值改变时,调用该方法.​​ 所以很显然,我们需要用到Javascript中的Ob…
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson9 转载请注明出处,保留原文链接和作者信息. 在 React.js 里面监听事件是很容易的事情,你只需要给需要监听事件的元素加上属性类似于 onClick.onKeyDown 这样的属性,例如我们现在要给 Title 加上点击的事件监听: class Title extends Component { handleClickOnTitle () { console.log('Click on…
gulpfile.js文件如下: var gulp = require('gulp'); var sass = require('gulp-sass'); gulp.task('default', function () { gulp.src('./css/*.scss') .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError)) .pipe(gulp.dest('./css')); }); //在命令行执行:gulp…
Bootstrap滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标…
前文回顾: 1 插件学习篇 2 简单的建立插件工程以及模型文件分析 3 利用扩展点,开发透视图 4 SWT编程须知 5 SWT简单控件的使用与布局搭配 6 SWT复杂空间与布局搭配 7 SWT布局详解 8 IPreferenceStore使用详解 9 编辑器代码着色 10 JFace开发 事件的监听,是插件开发中的重要环节,每一次的点击或者按键都有可能触发某种事件的响应,那么是如何实现的呢? 对于某种被监听模型,通常需要添加一个监听队列. 监听者需要通过某种方式,加入到这个监听队列中. 当这个模…
转自 http://www.51testing.com/html/99/478599-842622.html 今天安装了oracle后,启动监听,报错如下:    启动tnslsnr: 请稍候...   TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production 写入E:\oracle\product\10.2.0\db_2\network\log\listener.log的日志信息 监听: (DESCRIPTION=(ADDRESS=…
Curator对Zookeeper典型场景之事件监听进行封装,提供了使用参考.这篇博文笔者带领大家了解一下Curator的实现方式. 引入依赖 对于Curator封装Zookeeper的典型场景使用都放在了recipes中.因此,使用之前需先引入此依赖. <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <v…