00:00
前面呢,我们执行到了这一步构建镜像,构建镜像呢,我们最终推送到doer have里边,我们这个有一个镜像,如么这个镜像呢,是我们当次构建的一个快照版本,那接下来我们继续来做剩下的步骤,这个步骤还是来参照我们以前的这个金克s feel,他们其实写的非常好,我们在这来参照,那这一块呢,已经构建完了以后,那接下来下边这个流程呢,它是推送一个最新的,相当于我们之前呢是推送了一个快照镜像,那在这儿呢,推送一个最新镜像,而他还判断,如果我们当前拉取的这个分支是master分支,我才有必要给你推送一个最新的镜像,那我们完全可以也来加上这一步来让他推送一个呢,最新镜像来到我们这儿,好,我们现在呢,把我们这个流水线再来修改一下,我们再来加一步编辑金克S费好,那么现在呢,代码质量分析也成功了,镜像推送也没问题了,还有我们的拉取代码也没问题了,然后呢,我们接下来们下一。
01:01
下一步呢,就是我们这个推送我们现在最新的东西,好,我就直接把我们的这一块全部复制CTRLC。我们来复制过来,然后呢,来到我们的这一块,我把它粘贴过来,这是我们推送最新镜像,我们走到这一阶段,好,我们来给它批注一项,我们就叫推送最新镜像,好然后呢,我们这是推送我们这个快照镜像,构建镜像和推送快照,我们之前呢,这个是一个快照,然后呢,我们再来推送咱们这个最新镜像。我们也一样,如果我们现在是做master分支的,我们就给他推送,不做的话呢,我们就不推送,包括这个分支这一块呢,都已经写好了,我们现在直接来到下边,我们在这儿呢,Docker tag,现在把我们之前构建的这个镜像,然后呢给它打了一个新标签,这个新标签呢,就是我们这个APP name,以后我们所有的APP name我们全换成我们的project name,所以我们在这儿呢,就直接来换一下我们的这个应用名,就是我们的项目名,我们是参数构建,我们这个参数呢是传进来的CRLC,然后来到我们这儿project name我们也在这来构建,然后下边呢这一块也是我们的project name,好,相当于呢doctor t,先给我们之前的老镜像,然后呢来打一个新的标签,相当于叫新镜像的名字叫latest,然后呢,再把这个新镜像继续来推送上去。当然整个。
02:35
那推送前面呢,其实已经登录过了,我在这儿呢,就无需再登录了,好我们在这儿呢,给他推送过去,来看这一步有没有生效,我们这个阶段我们让它执行完,来点击确定,来看一下现在的效果,如果我们再来多加一个这个阶段来运行流水线,把快照镜像一推过去,只要我们这个分支是master分支,那我们就给他推送一个最新镜像,好,我们来点一个运行,好我们还是呢,这个鼓励卖我们的购物车这个项目,好来点击一个确定。
03:08
我们现在呢进来。那么这个流程呢,正在运行过程中,我们就来稍等一下,那这一块呢,我们就不让它运行了,我们发现呢,它没有应用到我们最新的这个配置文件,所以我们来到这个17号构建里边,我们可以把它直接停掉,我们来到当前的这个活动,17号活动,我们直接给它停掉就行了。我们现在来重新刷新一下,确保我们这个流水线的这一块我们已经应用上来了,来点击编编辑精子费,诶我们看到这其实是有的,所以们现在呢,就可以直接再来运行一下,我们还是来构建我们的鼓励ma购物车car这个项目,好,我来点击一个确定,然后我们来让他构建,而构建的时候大家其实自己来看,在我们这一块呢,本身就有一个分支,这个分支呢,没有,没有的原因是我们自己在这创建的流水线,而不是按照标准的流水线工程应该是这样来点一个创建,输一个名字,我们从代码仓库里边拉取,无论是GI GI have,我们只要在这拉取来以后呢,它就能获取到我们相应的这个分支,比如我们来从这个gate里边,我们在这拉取的时候来CTRLC,然后我们在这儿来进行一个拉取,我们来就拉取这个代码,我们是使用GIHUB的这个GIE的这个ID,我们如果是在这用这种方式来拉取的话,因为我们下一步选。
04:30
得他呢,能我们能让他扫描我们这些PR各种分支,所以呢,他自己会有这些相关的这个分支信息,但是我们现在呢,由于没有我们是这个主动拉取的,所以他这儿没分支信息,那没分支正好我们来看,应该走到我们这一步。我们如果分支呢,是master,他应该给我们往出推送,但是没分支的话,它应该不推送,我们看一下效果来看我们的这一块活动好运行中,我们的这个十八十八呢,现在我们来稍等一下,只要这个构建镜像完成以后呢,它就应该有一个新的推送,我们看它会不会运行。
05:05
好,那这个由于网络问题呢,我们其实已经等了很久了,给大家看我们这个构建镜像这一块已经32分钟了,们的这个网速上传呢,一直是只有一点点,所以我们现在就不等它了,我呢直接把这个中断,我们来到这儿,我们来让它中断们来到我们的古力ma cicd。我们现在的当前的这个活动,这个活动呢,我们来让他中断一下就行。来倒退。好,我们现在呢,把金克S这个配置文件我来重新改一下,我们就不在这儿试这个了,我们现在呢,一次再来把剩下的这个东西我们来都一改,在这个金克S里边,我们之前呢是构建了一个快照镜像,然后呢我们又推推送一个最新镜像。但我现在也不做这么复杂了,因为有可能会推送失败等各种问题,所以我现在来把我们这个推送最近最新镜像的这一块,整个语句我CRC我复制过来,来运行到我们下边这一块,在我们这个推送镜像的时候,推送镜像的时候呢,我们是这样子的,我们先让前边我们先会登录成功,那登录成功以后呢,我们在这儿,诶登录成功,然后我们会。
06:20
将我们之前的这个镜像doger fair,我们在本地打的这个镜像,然后呢,给他打一个标签,这个标签呢,就是按照我们项目名来的,然后我们再把这个镜像推送上去,啊我们也不推送他的这个快照了,那就推送一个最新镜像,推送镜像,那推送完了以后呢,接下来我们就来做剩下的更有意义的事情,我们也不用等它了,好,我来点一个确定,那这个金费呢,现在被我们这样改,那么这个构建镜像的时候,我们也会推送一个最新镜像,最终给我们的这个GI have,诶我们这个是doer haveb,那这块推送完了以后,那接下来要做的事情是这样,我们现在呢,相当于把我们这个镜像,诶最新镜像呢,我也推送过去了,那接下来我们就应该把我们的这些东西部署到我们的这个cooper nes集群里边,所以我接下来再来用这一块,就要把我们把它部署到集群里边,好,我复制啊,部署到我们的这个生产环境,埋到这我们。
07:20
再来加一个阶段,我直接来编辑金s fair,好,代码质量分析没问题,推送镜像以及我们拉去代码,然后呢,我们接下来部署这一块呢,那就是部署到我们这个环境,现在我们也不用那么多环境了,你要两个环境的话,你再建一个项目叫古丽麦尔第,然后呢,我们可以给它部署到第环境,先测一下,还有生产环境,我们就不搭这么多环境,你现在就叫部署到集群里边,好部署咱们这个。到咱们这个K8S,好,那们现在呢,流程走到了这个部署,我也不用问,我们现在呢,走到这块部署以后,但是大家注意,我的这个steps里边有一个东西叫input,这个input呢就是人工确认,然后呢,我给一个input的这个idd呢,就是有一个唯一区分,这个唯一区分比如我们再来加上加上当前的这个项目名,你是不是要把这个项目部署到我们指定的位置,比如我来do了,符我们项目名呢,现在有一个pro Jack name,我们的这个变量,这个变量参数呢,是我们的参数化构建传进来的,比如说我来问他,你是不是要部署到这儿,然后呢,这个消息就是是否将我们这个项目,是否是否将我们可以来写一个中文Dollar,我们取出我们的这个项目名project name就是这个项目,然后呢,部署到部署到咱们这个。
08:51
群中集群中,好,那现在呢,相当于询问是否将我们这个项目部署到集群,那如果你想要部署,就会调用一个叫cooper native deploy,就是我们K8S的这个部署方法,这个部署方法呢,大家接下来看有一个叫cons,就是我们说你部署的这些配置文件在哪?那这个配置文件呢,默认从我们的这个根目录这一块算起,就是我们的这个项目目录算起,我们的项目呢,在这儿所有这个的部署都在他微服务里边,假设我现在要部署这个服务,点进去应该在它的deploy里边,我们写了这个部署文件,所以我们在这一块呢,改的就应该是那文件夹的位置,Conve在这指定的是文件夹的位置,是我们当前项目名,你要部署哪个项目,就进这个项目里边,Deploy里边的所有这个部署文件你都给我用一下就行了,然后包括部署我们要用库包、controller这些命令,然后要CU conflict。
09:51
的一些东西在这呢,我们就直接拿过来,这个是Dollar取值,那就是我们环境变量里边,我们早些时候我们给环境变量里边配置的我们这个cooper conf的这个ID,以及doerb的ID,以及get的这ID,我们可以都在这儿来取得到,好我们在这呢,相当于我们这一步就是部署到K8S,我点一个确定,我们相当于又新多了一步,然后呢,我们再来加上最后一步,我们只要呢,运行到这一步,部署到K8S,那我们当前这个项目呢,就应该部署到集群里边了,那部署到集群以后呢,接下来我们把我们的这个项目应该给我们的,无论是马云也好,还是gihab一样,我们应该呢有一个发布版,相当于我们在这儿呢,应该有一个发布的这个标签,诶我们想当要把这个项目呢发布过去。
10:42
生成一个这个发布版的标签,所以呢,我们这一块就可以来做我们这个事情,如果我们想要把这个东西再发布过来,比如说这个购物车呢,现在版本已经递增了,然后呢,我们接下来就有得有一个发行版,或者我们来打一个标签,那按照我们的金INSJE克S呢,我们之前这一块呢,我们已经部署到环境了,接下来我们可以为我们当前的这一块整个呢打上一个标签,那就是按照这个步骤,我们呢给giitar helpb,让giitar helpb呢,给我们这个项目来打一个标签,那这一块怎么用,我们会看到其实这一块呢也是一个参数化,这还会判断,如果我们当前的这个t name是V几点几,相当我们一个正式发布版,然后呢,我们就在me这个容器里边,Input,那又是一个人工确认,确认呢,你是不是把我们的这个发布出去,然后如果要发布使用我们的这个账号密码,就是guitar汉的这个账号密码,配置好信息以后,给我们当前的这个项目,然后呢打。
11:42
一个标签,然后最终把这个最新的这个标签,然后呢我们再来提交上去,而且呢,大家注意,除了我们给giarhab里边提交,我们还会让docker把我们之前这个镜像重新呢,再打个标签推送到docker仓库,只不过这次呢,前面都是我们镜像的全称,就像我们之前在docker仓库的镜像全称,后边呢,我们这个tag name现在相当于就已经变成我们的版本号了,所以们也可以来加上这一步,但这一步呢,唯一不同的就是我们这一块呢,是要按照我们GIHUB的这些信息,特别是我们get push的时候要get的username,这个username呢,是通过我们自己配的这个get的这个ID,我们拿过来的get的username get的password,然后呢,我们拿这个拿过来,然后给这一配,包括这一块的语法,为什么是这样,也非常简单,你呢,直接来到我们的这个流水线这儿,你可以用编辑流水线的方式,比如我们再来加上一个阶段。
12:43
这个阶段呢,我们可以给get helpb里边推送东西,比如我们随便来写一个名称,来可以添加一个步骤,这个步骤呢,我们先来在容器里边运行,来指定一个容器,我们在容器这个没容器里边来运行,运行的时候呢,我们相当于来加载我们giar e的这个账号密码之类的,我们可以在里边嵌套步骤,嵌套步骤呢,我们不拉取代码了,我们来可以在这添加凭证,把我们的整个凭证信息加载到环境变量,诶大家注意是加载到环境变量,所以呢,我们可以来选择我们get e的凭证环境变量里边,比如我们get e的这个username,我们就叫get e username get e的password,我们就叫get e password来点击确定,你把这个凭证填过去以后呢,你想要做什么事了,你可以在这个凭证里边,我们再来添加一个签到步骤,你这凭证准备好了,那我就可以让你比如eo来输出一个GIE,你刚才的这个凭证不是有一个username这个变量吗?
13:43
我可以让你输出过来,当你想要输出得刀了符,我们把这个呢,这样输出出来,我点一个确定,那在这来指定好以后,我们把这一块的配置拿过来,你对照就行了。所以所有的学这个金正词语法最快的方式就是我们使用图形化编写出来,来看我们最后一步自己起的DD with credit,那这块呢,跟我们这块的写法是一模一样的,With credits,然后username password,我们来加载我们的哪个变量,然后呢,这一块就是我们加载这个get e ID,我们加载这个,然后呢加上了我们password变量呢,你是拿这个取域,Username拿这个取,我们还写反了,然后呢,我们取来以后就可以干啥,所以我们现在呢就是这样,我把这个呢去掉,然后呢加载成我们自己的,现在呢,我们部署到K8S,然后呢,我们再来做最后一件事情,让他呢,直接把我们整个全部推送过去好。
14:41
Push v字tag好,我们把这个发布版,然后呢,我们把这复制一复制以后呢,我们让在在这一粘贴,然后我们这个就是发布版本,诶我们是不是把这个版本要发布出去,发布版本。那么这个发布版本呢,我们可以在这让他判断判断你的palm有一个T内是不是以V几点几开始的,但是呢,我们现在没有这个tangag name了,我们现在呢都是Tang name,就是标签名,标签名呢我们现在全部用成我们这个环境变量,环境变量呢就是我们的这个project version,就是我们项目的这个版本了,所以我们可以把这一块呢全部都改掉CTRLF。
15:23
我们来搜,当然这一块搜不了,我们就来自己来写CRV,那现在呢,全部是用项目的版本,如果项目版本呢,你是以V几点几,那我相当于呢,我就要把你发布出去,那发布出去我们就来确认一下,在container里边好问呢是一个条件判断,大家也可以用可视化界面来学一下这个问语法,然后呢,接下来steps里边我们要做的活,好我们把这个steps,我现在呢也来说一下,我们steps呢是从这儿结束,然后呢我们这个stagech,我们当前这个阶段从这儿结束,好我们现在呢,这个steps就是给我们giitar have里边,我们来发送我们的这个发布版,咱们现在呢就来有一个询问,Release image with tag,相当于我们来询问你这个是不是要把它呢发布出去,我们在这儿就来询问一下,发布当前版本镜像,发布当前咱们这个版本镜像啊,如果我们要发布,我们来点确认。
16:24
就会按照我们指定的账号密码,哎,我们在这儿呢,它让加载giar haveb的这个ID,我们肯定不加载,我们呢参数化构建,我们有一个get e的这个ID,把这个复制过来,我们把getta e的这个相当于马云的账号密码,我们呢让它加载过来,从我们环境变量里边加载过来,那加载过来以后呢,马云的这个账号就用这个马云的密码用这个,然后呢,我们配置了一个getate conf,我们来做了一个配置,然后配置以后呢,我们这个用户名,以及我们的这个email是什么,我们自己呢,可以在这儿来配一下,比如用户名自己叫雷锋阳,然后呢,我们这个雷锋阳给他发布了一个什么东西,比如我们来输一个邮箱也行,来写一个QQ,好,我们现在呢,我们这个人最终呢,我们现在看给我们当前当前我们的这一块,我们来打了一个探AG标签,现在给我们当前分支打了一个探NK标签啊,这个探AG标签呢,就是我们版本号那。
17:24
这个版本号呢,我们现在不叫tangname,我们叫project version,把这个project version我们拿过来control c,凡是所有用到标签名的地方,我现在都叫项目的版本号走,然后项目的这个版本号,那版本号完了以后呢,下边给他push,然后呢会按照拿我们的这个用户名和密码登录gihab,我们当然不登gihab,我们是登录的马云,那登录马云登录我们自己的项目。这个get helpb的这个account get helpb的这个账号,这个账号呢,我们来看一下下边下边我们这一块呢,有没有get helpb的account,我们在这呢,没有,我们是用的马云的这个account,我把这个复制过来,好,我们现在呢复制马云的过来,你用get haveb也一样好把马云的复制过来,然后呢,我们项目的整个get地址在哪儿呢?那我们项目的get地址我们来复制过来,相当于我们给我们项目,然后呢,有一个发行版了,那在这儿呢,点一个复制,复制好这个复制呢,我们来到我们的这个。
18:32
这个镜像里边,好,我们来写一个David OS,然后呢,我们的整个项目版本呢,就不是这一串了,走,我们把我们的这个粘过来,当然前面HTDS这一块呢,都不一样,就留一个我们的古力ma,我们的这个项目,这个项目呢,然后T。我们就相当于来把我们的这个所有标签呢,我们来推送到我们的马云里边,我那我们给马云里边推送完我们的这个项目标签版本以后,我们又使用docker,然后呢,将我们的这个项目,因为我们之前呢,打包了一个这个项目的快照镜像,我们看一下前边我们来docker fair,我们docker的这一块,我们来找一下构建镜像,构建镜像我们是使用这个docker fair,诶我们把我们的这个镜像呢,构建成我们这个快照版了,那接下来我们给这个快照版呢,再来打一个标签,所以来到我们这个下边,来到这儿以后呢,前面这一块都不动APP name,我们现在全叫project name,好我们的这个项目名,把这个项目名的快照版加上这个分支,加上我们的这个构建版本,然后我们呢,我们重新打成,打成呢,什么我们当前这个项目名,加上项目的版本号,所有的这个。
19:53
那APP name我们都用project name来替换,所有的tag name我们都用版本号来替换,当然你为什么能替换这些,你就要对我们的这个docker稍微有点熟悉,我们就知道这个位置是干什么用的,这个位置就是我们这个docker每一个镜像,其实它后边的这一块标签我们来到这个tanks来看一下,那每一个镜像呢,我们之前有一个标签是snapshot master16,那我们现在呢,就可以给它加上自己的真正版本号了。project version,这个version呢,我们是参数化构建传过来的,我们来可以看一下我们的这个version,诶为0.0什么的。
20:33
然后再来我们的这个version有了以后呢,再加上我们这个项目名和T耐也一样,我们把这个CTRLC复制过来,然后呢,我们最终把这个镜像再推送到我们的doer have里边,那至此我的这个流水线呢,我就写完了整个流水线的步骤,从拉取代码,拉取来以后呢,我们来会对整个代码来做质量分析,然后呢,把我们自个儿的这个镜像,我们当前项目的这个镜像呢,我们构建出来,然后呢,我们最终把我们的这个镜像,诶我们是给把我们项目里边的这个部署文件让cooper notice1部署,诶我们看到这个是步骤是抽取出来的cooper notice deploy,我们这个cooper早都把我们这个抽取好,我们让cooper notice呢,直接按照我们当前项目deploy文件夹下的这个部署文件,它呢一部署就行,那一部署完了以后呢,接下来我们又去把它发布版本,把它整整个我。
21:34
那这个项目呢,部署上来,我们给他一个版本发布,但这个版本发布最好是每一个项目我们都应该有一个仓库地址,而不是我们现在直接古里妙全项目都有一个地址,都有一个地址,那一发就发成总的了,好,现在呢我们在这发布,那我们到GIHUB的这一块发布来我们这儿呢,大家可以了解一下,但主要就是这我们这个input除了在GIHUB我们来发布外,我们呢还调用SSSH,然后呢,我们连接上了我们这个docker,我们给docker呢这一块我们来镜像打包,重新打包,然后呢,又推送到我们这一块的docker上边。
22:12
而且这一块呢,我们也不用登录,因为之前呢都登录过了,好我这个流程呢,全部就写好了,我点一个确定,然后我们下节课就把这个流程测试来完整的运行一下,当我们整个金克s fair的文件,我现在呢全部拿过来,CTR a crl c来放到我们自己的这个里边,这是我们的这个金ins fair,把这个jeins fair的这个文件CRA好CRV粘过来,然后呢,这一块只有唯一一个出现问题的地方在这儿,我们来看,我们在这docker在这儿部署的时候,我们来使用cooperer ne部署,我们来稍等一下前面,诶,Co ne部署的时候,进入我们当前自己项目的deploy,那自己项目的deploy里边有一个压面,它部署它,但这个压妹呢,其实要找镜像,这个找镜像呢,它用的是什么?用的是APP name和tangag name,那我们呢,现在其实早都没有了APP name。
23:13
和tag name,我们叫的是project name和project version,所以呢,我们现在相当于用的是你是哪个项目的名,加上你的这个版本号,所以我们接下来同学们将每一个我把这个version呢都写对,这一块呢全部要参照我们参数化构建。我们来点击确定我们参数化构建里边我们要用的这些属性,你要照着这个属性写,我们这呢有两个属性,一个呢是我们的project version c c复制过来,那最好呢,粘过来CV,我们要取出来Dollar,然后呢还有我们的project name project name我们也来取出来,把我们的这个project name CR c好来到我们这也是一样取出来Dollar符,然后呢,接下来同学们就应该将每一个项目的这个部署文件,把它后边这一块CTRLC,然后呢全部在这换一下,它的镜像这一块呢全部换过来,换成我们的project name和t name,好,我们接下来呢,就每一处都换来,下边呢同学就把这个一做,而且要确认每一个文档呢都是有两层,然后我们把这个呢再换过来,好,那接下来我们就不录了,大家把接下来的事情做完就行。
我来说两句