00:00
好,前一步呢,我们使用并发构建,构建出每一个微服务的镜像以后,接下来我们来进入到流水线的第四步,这个镜像呢,我们把它推送到镜像仓库。那么现在呢,还是来到可视化界面来编辑我们的流水线,我点一个编辑流水线。编辑流水线呢,在这有一个叫push let,这叫推送最新,所以呢,那我们在这呢,也写一个中文,就叫推送最新镜像。这呢,它第一个运行的脚本叫docker tnk,相当于把以前的这个老镜像啊,然后呢,打成我们真正要去我们仓库里边啊,保存到远程仓库里边的镜像,而这一块呢,大家会看到这都是动态取值的过程,刀复什么,而这个动态取值是从哪来的,先点击确定,先点击保存给大家看一下。在流水线的金克文件里边,我们自己来分析一下吧。他原来给我们的推送镜像模板是这个,然后呢,它是docker tag,这有什么registry,什么docker HUB啊,Namespace name。
01:08
这些东西呢是什么?首先registry来给大家看一下,CTRLF我来搜一下。一直在下边,我们会发现在金克fair里边呢,又有一个我们的代码块叫environment,叫环境变量。所以接下来呢,我们说金克斯的金斯菲尔流水线的语法里边,如果我们在environment这个里边定义的,定义的所有变量可以在流水线的任意位置进行使用,定义的所有变量可以在流水线的任意位置。使用咱们这个Dollar符电量。就能取出来了,所以大家会看到我们呢,会有一个叫registry rery呢在这定义着,相当我们这个镜像呢,最终要推送去的这个仓库。镜像要推送去的仓库。
02:04
个人版我先点进去,在我的这个命名空间里边,未来我希望。这是我们以前有的,包括我们若伊给若伊这个命名空间里边,我们也部署了非常多的镜像仓库来给大家看,若一这里面是不是也有很多镜像,所以我来专门创建一个命名空间,比如这个命名空间呢,就叫hello吧,我随便写一个,呃,Hello已经被占用了,那就l fy hello,这个一定不会被占用。好,我点一个确定,我呢现在呢,相当于有一个hello命名空间,而这个命名空间呢,是私有的,私有的话呢,你想给我这里边儿推送镜像,下载镜像是不是都得账号密码登录。而我呢,接下来我的这个镜像仓库呢,就应该是这样子的。我随便呢,拿一个东西。我把它复制过来,然后呢,接下来这一块是我们的命名空间。因为我接下来要把所有我们接下来产生的镜像推送到l Fi hello下。
03:02
所以这个命名空间在哪呢?专门又有一个变量叫do的name space命名空间,我就叫它,最终呢,我们自己会使用registry加dog name space。拼成我们镜像要去的地址啊,后边这是不是就是镜像名,所以呢,大家会看到人家给的这个模板啊,其实还挺具有参照性的啊,在这呢,刀开探。我们在这儿对镜像进行打包,什么registry,现在镜像呢,最终要去的位置是这,但是呢,我此时。我把它呢改成这样子的。我呢,统一叫snap shot。叫临时版本,而且零时版本呢,我加一个这个叫Dollar福大括号什么,呃,不是Dollar大括号叫Dollar build number。我给大家解释一下这是什么?这个删了啊。这个build number呢,我们叫构建。数字这个构建数字是什么,是这。
04:02
是我们在流水线运行的时候,我们会看到。我这个流水线,我当前是不是运行第13次,第12次,第11次,第十次就是这个啊,所以我打包镜像的时候呢,我让它产生一个临时镜像。这个呢,镜像最终的名字其实就是这样,我相当于把hospital manage上一步的这个镜像,因为我要存到远程,我呢给它改名成远程,我们能用的,远程能用的呢。GRY是这这一串。我把它呢,相当于改成它下边的什么l fy hello。这个namepa吧,Namepa呢,我在下边也指定好了,Hello,下的什么,我们是不是叫hospital manager,因为如果我们真正要给生态环境部的话呢,我们再来推送生产环境的景象,所以呢,我先让他呢执行我们的这个命令。而且大家想啊。我的这个流水线,如果我来编辑的话。
05:02
我在这镜像推送可不止推送一个hospital manager,我们还要干嘛,是把所有微服务的这个是不是都要推上去,所以呢,又是一个并发构建的过程,我们写上一个就行了,好,我写上一个,我来修改它的这个shell脚本,这个脚本呢不用这个,而用我整理好的命令。CTRC,我用这个doctor t相当于把hospital我们上一步的啊打包的这个临时镜像,因为上一步我们在这打包每一个人的镜像都是微复名latest,然后呢,改成我们真正的这一块的这个镜像啊改好以后呢,接下来我们是不是要推送,所以呢自然要docker push。把它推上去,但是大家又想一件事啊,你想要推送之前,是不是得登录这个仓库。这是账号,还有我的密码。
06:01
我呢,接下来随便写啊,比如我写一个叫docker。User。Test卡主要说我们docker的用户变量字段,还有一个叫我也不叫test卡,我叫variable,然后呢,还有一个docker叫password pwd。啥意思啊,就是呢,我的这一块操作是把我刚才录的docker的账号密码拆出来,然后呢,账号是这个变量封装的,密码是这个变量封装的,我点一个确定。然后呢,接下来会有什么好的操作,我先点一个确认,点一个保存,我给大家看一下啊。我在这呢,有一个添加凭证,在凭证里边呢,有一个嵌套步骤,是呀,我随便写一个。我先保存给大家看一下。将来金in fair里边呢,就会有一个。这么帅的一个东西给大家看一下金里边。
07:00
会有一个脚踏。With CDS。所以我把这一块叫什么推送镜像,把这一个阶段我来复制到我的这个基本词表里边,把它呢就更新了,不用看。用我们自己写的这个。我们自己写的这一段有什么不同,主要在steps里边,Container,我们相当于在这个memory里边,大家看doctorer t呢打包了一个这个,然后呢叫with credits withs就是以一个账号密码。而且呢,账号就是这个变量,密码呢就是这个变量,所以其实啊,我们接下来要做推送之前,我把推送应该写到这儿。我在推送之前,我是不是要登录进去,所以这个登录咋登呢?来给大家看一下啊。以前的这个里边没有这个登,登录呢,应该这么来登。应该我们写一个叫doer。
08:01
Docker Logan。所以呢,我来放到这儿。当然。你可以写死。写死是这。我把完整的写法呢,放在这儿,应该是这样,就是我们真正要登录到docker仓库,是这句话叫E口,现在我把docker的密码,然后呢,输出到我们要登录docker仓库的位置,而这一块的整个这个写法呀。我来来变一下。就是SH。这个不要了。那就是这个大家注意啊。注意我们的这一块,当然我们的整个这个一口命令应该是运行在SH里边的。所以加上一个单引号。完整的全加一个单引号啊,大家会看到我呢把docker的密码,而docker密码字段呢,是哪个字段,其实我们拆解出来的它CTRLC。
09:04
所以放到这儿,这其实都是以前流水线模板,它给我们默认生成的,所以我拿来直接复制一用就行,这是docker的密码啊,这是我们要登录的仓库的位置,这是docker的用户名。用户名是这个字段。啊,Docker仓库账号密码,并且呢,把账号密码拆解出来,账号是这个字段,密码是这个字段,然后呢,在我们这一步先进行登录,登录到仓库,登录到仓库以后呢,接下来我再来。把镜像可以来进行一个打包。这个是一个镜像打包命令吧。这个命令怎么有挺多的打包命令呢?是这个。登录进去以后,我来镜像打包,然后呢,镜像打完包以后呢,我再来镜像推送,所以我把以前的这些写法全部去掉。
10:00
那我们呢,就变成这样,然后最后推送,推送什么呢?当然是推送这个呀,我把这个呢复制过来。Contra c。然后呢,CTRLV。所以这是我以一个hospital manager为例,我们把它的这个镜像推送,我把这一段的代码呢复制一下。当然不止复制这一段,还要复制下边,因为我们在这儿是不是有仓库,有docker的namespace,我们是不是改成自己的了,改成自己的了啊,然后呢。CTRACRC。其实还有一些环境变量没啥用,大家可以不用管,来到我们这儿。我把这个流水线文件呢,重新编辑一下,用成我们自己写的。确定一下并发构建的都在好点确定。好,然后呢,接下来推送镜像,我们就会看到是这一块的内容,我点击编辑流水线,推送镜像呢,就是用我们自己的写法。然后呢,先会把凭证就是docker的账号密码加载进来,然后呢登录进docker仓库,然后给我们这个镜像呢,打成我们推送给仓库的这种命名方式,然后呢再推送上去。
11:13
点击确定,点击保存,我们来运行一下,测试一下。我们刚才呢,就是以先以一个hospital manager为例,先把它推上去,他只要能推上去,我们接下来就可以让大家伙都推上去。稍等一下。好,项目呢正在编译,看一下项目正在编译。像编译完了以后呢,是一个并发构建,构建完了以后呢,我们是推送镜像。稍等一下。上编译。接下来进入并发构建的过程,稍等一下,整个并发全部构建完以后呢,进入推送的过程。
12:01
这一块呢,开始自个儿构建,自个儿的就来等一下。好,当这个构建完以后呢,我们进入到推送过程,来看一下我们推送的代码,诶我们发现其实对了,首先呢,Docker login这已经打印登录成功了,对吧?然后呢,接下来docker tag完之前的这个什么hospital来给我们呢,改成这样,然后呢,接下来我们推送上去。来,稍等啊,看能不能把hospital manage推送上去,如果一个能推上去,将来所有人呢,都能推上去。所以我们稍等一下。只要一个能推上去,大家伙呢,都能推上去。那就等待他的整个推送。
13:02
这个推送呢,跟网络有关。我们现在来确认一下啊,是推送到这个叫l fy hello,下边的是hospital,没问题,是推送到这儿的。刷新一下。看推的可能差不多了。
我来说两句