前面章节我们讲解了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文件(这个文件原来是空的)
可以看到我们刚才提交的内容已经正确拉取了.