00:00
好了同学们,那最后呢,再给大家讲解这么一个构建触发器啊,呃,这个还算是比较常见也比较常用的,就是呃,通过这个po cm去做这个构建触发器,那这种方式呢,它是主动由jackins发起的啊,和我们之前的那个对比起来,我们来这么给大家解释一下,比如这是jackinson。然后呢,这这是我们的git lab。Jackins呢,之前啊,我们是在这呢暴露了一个API,这个API呢,被调用的时候啊,Jackins就发起构建,对吧?那么这会是我们提交完代码之后呢,由GI lab去调取的这个API,然后让jacks构建,那是被动式,那么如果他要主动去检查这个代码。或者说我们用的这个代码托管平台不是get lab,它不太呃常用,不太常见,没有这相关的这种呃这种这种钩子机制,那么我们可以让这个去,呃配置好之后啊,可以让他去,呃我们这lab,比如我们用的subs s vn,当然现在的SN也有这个钩字啊,啊,然后让jacks去不断的去轮这个get lab啊,每隔多长时间去一次,这个时间,这个周期呢,我们像上节课讲的一样。
01:18
可以通过这个jacks的框表达式去配置啊,就像这种空表达式,那么每隔段时间去检查一次,检查的是啥?检查检查的是我们所配置的jacks上的某一个分支。之前我们拉取呢,就是拉取gilab上某个项目的某一个分支,对吧?啊,把这个分支作为我们目标的,呃,这么一个代码,呃,这个仓库,然后去这个分支上去对比我们当前Jack上所存储的代码版本和get lab上所存储的代码版本啊,它是否一致,如果不一样,那么就去把代码拉回来,并且执行构建。那么在这呢,我们可以这么去配置这个po s SCM,把它给勾上,然后其他的都可以给它去掉,然后这个呃,时间空表达式大家也能理解,对吧,这就是每分钟去。
02:07
呃,查询构建一次,当然在实际的当中啊,没必要每分钟来一次,对吧?啊然后在这儿呢啊,我们呃,配置好之后点个保存,这个忽略钩子,这个post,这是subversion里边的功能啊保存保存完成之后呢,它就会每分钟去。我们的这个getlab服务器上去比对一次,那么我们在这儿稍微改一改代码,比如说艾特硅谷,哈哈哈。哈哈哈,红红火火哈哈对吧,然后CTRLS保存,然后把代码提交上去。然后push。OK,这会儿铺上去。呃,如果你愿意等的话,你会发现它根本就拉不回来,还是那个道理,我们这个代码提交上来呢,它是提交,在提交到另一个分支上了,我们需要把它合并到我们的主分支上啊。
03:02
创建合并请求。然后来。合并。这儿批准一下。然后开始合并。然后我们再看这,注意它是每分钟去检查一次。看这一会儿它会不会有这个任务出现啊。稍微等这么几十秒。嗯。哎,开始了对吧,已经放在这个队列里了,然后一会儿就会进入这个,呃,执行状态。来,正在执行。这是每分钟的去每分钟去拉取一次啊。OK,执行完了,那我们看一下。
04:01
呃,整体全部执行完了,我们看一下这个。测试服务器上的代码,你看刚刚提交的这个,哈哈哈,这就OK了,对吧,那同样道理,那我们再改完之后,他每分钟还是轮训一次,还会提交到咱们的这个测试服务器上,那给大家总结一下这几种。呃,构建方式的这个区别吧,啊,首先这个快照依赖和这个job依赖,这两个都是有上下依赖关系的啊,这个咱不说,然后这个触发远程。呃,这个这个这个构建,这主要就是jackinson对外公布一个API,那么我们用Java也好,或者用其他的这种中间件,只要它能够发起远程调用,那么就可以调用它,然后让它去呃构建一下现在这个代码,然后定时构建呢,可以用我们jackons专用的CH表达式来定时的去呃执行构建啊,然后这个KHUB这个呢,我们不常用啊,主要是像KHUB提交代码的时候呢,去触发构建。
05:01
然后再有就是这个定期检查代码变更它的呃,主动方是由jacks发起,然后去不断的去查询我们的源码的这个托管服务器,然后发现变化之后拉回来,然后执行执行一次构建啊,那么具体用哪个,看我们具体的这个呃工程或者项目的需求,然后自己来定啊,然后当然也可能会用到这种呃。多项目上下父子级这种啊,比如maven一个上面一个父项目,下边N多子项目,然后执分别执行构建,那么在这儿呢,我们就需要创建很多的任务,那么另一种方式就是把所有的这个呃项目负负子项目呢,全部都打包成一个一个这个job啊,那么一个负项目下边有很多子项目,我只构建负项目,同时把子项目也都给构建了,那么就不会产生这种依赖关系。啊,那么如果你真的要用这种依赖关系的话,非常呃,建议大家分清楚这个主次关系,然后依赖之间的关系啊,尽可能少的这个去做层级上的关联啊,因为层级关联比较多了,那么某一个代码呃,提交之后,那整个项目还是要重新构建一遍,那么还不如就直接只创建一个这个job任务。
06:14
啊,当然不同的项目有不同的对待啊,那么呃,我们的这个构建的几种方式呢,就先讲到这儿,那具体的这个,呃,说明呢,我也刚才也给大家整理好了,然后。嗯,给大家给这个。记在咱们的这个文档里了啊。
我来说两句