00:00
那前面我们流水线执行到这一步叫代码质量分析,那接下来我们就应该做一个我们这个镜像推送,哎,就像我们之前的这个事例一样,那么代码质量分析完了以后呢,我们接下来推送镜像,那么推送镜像呢,主要是这样,首先MVN还是clean package,相当于把我们每一个项目呢打包,那打包以后呢,接下来再来build build就是来构建我们项目,将我们这个项目呢打包成一个docker镜像,然后按照我们指定的docker费尔文件打包docker镜像杠T就是给我们这个镜像呢打一个标签,标签名叫什么?这块呢都是动态的,按照我们doer have的这些配置信息,那就直接来,那就没啥问题,那么现在呢,就把这一块复制过来,但我们在这打包镜像呢,先又牵扯到另外一个问题,因为我们现在是参数化构建,我可以选择,我是来构建我古力ma里边的哪个项目,所以我一旦一选择了以后呢。
01:00
就应该按照我的选择来只打包这个项目的镜像,而不是打包所有的。好,我现在把这个CTRLC我们复制过来,来到我们流水线里边,我们先给流水线里边把这一块呢编上来,敲上以后呢,我们再来测试编辑金克fair,好,这是我们的stage,代码质量分析结束了拉取代码也没问题,那这一块都没问题,以后呢,接下来来到我们的这个stage,然后呢,推送镜像。好,我们把这个stage值呢,我们也拿过来,我们放到这,我们流水线呢,现在进行到这一步了,这一步呢,我们现在就将构建,构建镜像,构建镜像,构建咱们这个镜像,然后呢,推送,推送咱们这个镜像,那么这一步呢,现在就是这一块的功能,那还是我们在me容器里边运行,这样才能运行me命令,然后呢,我们第一个叫me-D,诶我们先跳过测试,按照我们全局的这个配置文件,然后clean package打包,然后这个打完包以后呢,我们再来build f相当于我们要指定一个docker的这个文件,然后呢,我们按照这个docker文件把它打包,所以接下来这块我们这个docker文件是什么,那就得看这个假设呢,我们现在我们现在每一个微服务,呃,每一个微服务呢,它下边都有一个这个docker fair,所以们这个dock文件叫docker fair,那我们来到我们的这个流水线上,我们现在不叫dock。
02:27
Fair online,我们那个事例叫online,我们现在叫dock fair build-F,我们按照这个dock文件,但问题来了,我们要按照我们某一个项目的doer文件来把它打包doer镜像,而不是打包所有项目的,那哪个项目的这个文件呢?所以我们在参数化构建的时候,那这块参数呢,又会传一个项目名,所以我们接下来在这块就应该是我来到这个项目目录下,那就到了,走,我们来把它取出来,这是项目名,我来到这个项目目录下,我用他的这个刀客费,我们来打包镜像,然后打包来的镜像交给我们刀客仓库的什么?这是我们刀客仓库name space,然后APP name,当然这个现在就不应该叫APP name了,就是我们的项目名,所以我们以后所有的这个APP name,我就呢,全部用我们的这个项目名,然后我把这个项名复制过来。
03:22
那我们把这个呢,直接粘贴到这走,现在是这个APP内,好我们把这个放对好,我们现在呢,接下来我们粘贴过来以后呢,这是我们的项目名,然后n shot,好,我们先打包快照没啥问题,然后呢按照我们分支,我们现在是master分支,按照我们此此次构建的这个数字,这是在我们说的并发构建的时候,如果我们当时这个流水线,现在同时启动了两个并发构建,然后呢会为每一个生成一个构建的这个数字,所以我们按照这个数字的也没问题,这块呢都是原数据,我们能取出来这个分支的名字,我们在前边都已经做成了,我们这个environment没问题了,好,我们这块都准备好以后,我们相当于就给它打包好docker这个镜像了,但此时这个镜像在我们本地仓库里边,所以接下来credits按照我们指定的账号密码,Docker的账号密码登录到我们自己的docker仓库,然后呢,登录进来以后,诶,这。
04:22
这块呢,就是登录,登录进来以后呢,再把我们本地仓库,那刚才打的这个registry dockerb name space,然后APP name snap short这个镜像,然后呢,推送到docker仓库,好,那我们现在呢,就把它推送过来,我们只不过这一块呢,不叫APP name,我们叫project name。Pro name,好,我们现在呢就把它推送过来,这一块呢,我们整个镜像就构建并且推送好了,我来点击一个确定,来看一下我们这个流水线在这能不能运行成功,好流水线呢,没问题,没有任何语法错误,我们在这儿呢,解析也是可以的,那我们接下来我点一个运行,所以我们点这个运行的时候,我们这块现在就不要乱输了,因为我们这个project name,我们在后来的流水线里边我们要用的,所以我们现在就让它构建古力ma,假设呢,我们以这个购物车为例,古丽ma car,好,我来点一个确定,我们来进入我们的整个流水线流程,来看一下我们现在的这个流程怎么样。
05:27
好,那现在这个流水线呢,启动成功,那接下来他先拉取代码,拉取完以后呢,代码质量再分析,分析完以后我们来推送我们这个镜像,把我们这个镜像只有打包到这个docker HUB以后,我们呢,才能在我们的这个仓库里边,不是我们的仓库,我们的cooperer ne,它才能从dockerb里面下载来镜像,好我们来到我们的这个docker HUB。我们先用自己的账号登录进来,我们先来确认一下他能不能打包进来,好们现在来登录我们自己的账号,好,现在这是登录进来的,大家看现在呢,我的这个仓库下面呢,默认只有一个David OS Java simple,这还是我们之前啊,大概好几天前测的这个数据在这,然后接下来看这次的打包能不能成功。
06:10
那么就来稍等一下我们整个流程的运行,我们可以来查看日志,首先这个拉去代码这一块呢,都没有做完,那么这一块还有代码质量分析呢,我们就来稍等一下,他把这一块的整个构建完,那就没任何问题,那拉取代码构建完,然后呢,接下来是代码质量分析,代码质量分析呢,他挨个项目只要给我们分析完,那接下来我们就应该构建我们指定项目的这个代码质量,当然你在分析代码质量的时候,你也可以分析,只分析自个儿的项目,不分析别人那么多也行,好,现在就来稍等一下,这个代码质量分析只要一成,我们接下来就要看它是不是能有这个镜像,那默认现在这肯定是有,在我们这个docker have里边,现在呢,是没有任何新镜像上来的,那么就来稍等一下。我们可以来监控一下这块的流程,这个代码质量分析,来看分析到哪一步了。
07:03
好,然后呢,77SOURCE,我们77个这个文件分析,然后好在这一块呢,我们就来等好这一块呢,整个分析完,等待我们整个的这个分析结果的返回,那这个分析结果返回以后呢,那接下来就应该来到我们下边的这一步,好推送镜像,来看一下我们镜像的这一块,首先我们这个镜像好,那上来报错了,来我们来看一下这个报错,这个报错呢,说我们这一块呢,说是我们这个叫什么。叫error,若执行门这个失败了,说我们这个全局配置文件doesn't exist不存在,不存在configuration啊,我们全局配置文件早都不是这个configuration settings了啊,这一块呢,我们来改一下,所以这一块的细节我们就一点一点改正,好来让大家熟悉这一块的语法,来稍等一下,来到我们的推送镜像,推送镜像我们使用的这个全局配置文件这一块是有问题的,拿到我们前边之前的GS是PWT,我们现在叫me settingmer,好,我们就就p wt me settingmer好把这一块呢准备好,再来看下边,下边呢都成doer命令了,那就没啥问题,来点击确定好,那们这个金克file呢,就重新修改完成了,我们接下来再来点击运行,点击运行,我们让它构建我们这个项目,叫鼓励mail杠一个我们的,比如叫cut购物车,我来点击确定,我们还是来等待他这个运行它这个。
08:31
到运行成功以后呢,我们这个dog have里边就会有一个临时的镜像会上来,那么接下来稍等一下,看我们的整个流水线。好,我们大概呢,等了一会儿,我们看到呢,它现在运行到我们这个构建镜像这一块,来查看日志,他们这个构建镜像呢,现在有没有任何错误,来这一块我们来稍等一下,他在这儿呢,来这儿还是来打包这些项目,我们现在要准备来构建我们指定的这个项目镜像,那么就来稍等一下。
09:10
来看它这一块的运行结果,好,然后来到下边,下边呢是docker build-F,诶我们看到这一块是我们动态输入的值没问题,然后呢,STEP1杠六,那现在呢就开始构建镜像了,这一块呢,只要镜像构建好,首先from java8,这是我们的基础镜像,那既然整个这个构建镜像的过程,那就非常慢了,如果我们是第一次构建,我们想要构建我们的这个古力妙尔这个镜像,那么还得从把这个扎尔巴基础镜像呢,我们得下载来,我们看到这一块呢,都是正在下载这一块下载来以后呢,接下来我们才把我们的这个镜像构建,构建完了以后我们才把我们的镜像还要上传,所以整个流程呢非常慢,我们就在这儿直接等待就行了,而且现在呢,目前这个流程现在走到了我们的这个下载流程,因为我们要构建我们的这个镜像,先得下载这个JAVA8基本镜像,所以整个这块下载,包括我下边刚才的这个网络流量都七点几。
10:11
几兆每秒,我们这个都在下载,那么就来漫长的等待就行了。好,我们看到刚才的这个基础镜像下载完了以后呢,接下来构建我们镜像ex expose8080,然后这一块构建,然后第四步把我们这个炸包呢,添到我们这一块指定的地方,但是大家注意这块呢,说我们这个no source files,它其实呢,我们相当于没有这个炸包,但实际上我们肯定是有这个炸包的,那我们这个没炸包的原因,那就在这儿我们来看一下,因为我们现在呢,是构建这个项目的镜像,我们相当于来指定了这个docker fair这个文件,这个指定以后呢,接下来他就来按照这个文件构建,那构建了以后,他在我们这个target目录下要找我们这个镜像,这个能不能找到,我们在这可以来测试一下,测试一下,然我们来重新来编辑一个我们这个金fair,好,我们在这来点击编辑金克s fair,然后呢,我们唯一出现的问题可能就是me,因为我们在这构建呢,是指定了这个项目名,然后再用他的这个do fair。
11:17
到构建,咱们此时的整个根目录可能还在别的位置,所以我们现在呢能不能找到,所以我们最好呢来做一件这个事情,首先呢,我可以不指定这个项目名了,把这个项目名去掉,然后呢,我直接进这个项目,我们来使用CD,然后呢,我们CD,这还是我们的一个命令CD,我们进这个项目,然后呢,并且我们进这个项目以后呢,再来运行它的这个docker,用它的这个构建命令,接下来呢,这个docker费肯定的这个target,我们当前目录呢,就会有这个东西,要不然我们这个按照相对路径,我们没进这个项目,还在我们之前的更项目,肯定会有一些问题,好,我来点一个确定来试一下这种行不行。
12:00
好,我们现在来点击运行,来还是来构建我们的鼓励mail,我们的购物车cut这个项目,好,我们来点击一个确定。来等待我们整个的运行流程就行了,那我们现在诶运行到了我们这个镜像推送这一步,我们现在来看一下效果,来到这个镜像里边好一些shell脚本呢,已经运行成了,第一个呢,是我们构建这个我们自己的镜像,从JAVA8这一块构建啊第二个呢,是登录我们的doer help登录也成功了,第三个呢,就是推送我们自己的镜像,那这个推送呢,又得非常长的时间,我就来稍等一下就行了,我们整个推送过去呢,镜像的名就叫这个叫古力mail cutt snaphot master16,因为我们这个呢,现在是第16次高建,构建好我么这个镜像呢,一会儿就推送上去了,那我么现在呢,整个网络流量大家可以看到,那现在四点几MB的上传,所以我们镜像呢,正在上传中,我们就继续来,稍等就行了。那我们稍等一阵以后呢,我们现在看到这块呢,镜像构建推送这呢也成功了,那来到我们的doer have里边,只要我来刷新F5,我们这个do have肯定有我们的自己的一个镜像,来稍等一下,诶,那就是这个鼓励mail cut,我们购物车服务的镜像在这呢,没问题,已经上传过来了,它的这个标签就是我们这snapshot master16,好,没问题,那我们的这一步就做完了,那下一节课我们继续来做剩下的事情。
我来说两句