00:00
大家好,我是night killer,欢迎观看我的net ker dev off的手札系列视频。今天我们继续讲get lab,当我们的getlab安装完成之后,首先要做的就是初始化,所有的初始化操作都是为我们后期的工作做铺垫的。这里我列出了七项需要初始化的工作,包括创建用户,修改用户的语言默认是英文,我们需要把它修改为中文,当然如果你英文没有障碍,可以不用修改。第二项操作是创建组,第三项初始化工作是备组跟项目分配权限,第四项是初始化标记,初始化标记包括项目的标记跟组的标记,项目的标记可以升级为组的标记,标记这个词是官方的翻译,我认为翻译成。
01:00
标签更贴切。第五项初始化是创建里程碑,第六项初始化是代码分支的初始化,第七项是初始化CICD,也就是持续继承跟持续部署。下面我们就一项一项来演示如何做这些初始化操作。KAPP安装完成之后,我们使用root用户登录,登录之后我一般会创建一个自己常用的管理员创建方法,点击主菜单管理员新建用户。名称可以使用中文用户名就是登录的用户名,通常是使用英文电子邮件地址可以随便写,不是必须,然后选择管理员。
02:05
创建用户创建完成之后,我们需要编辑这个用户,修改它的密码,通常是八位,必须含有字母跟数字。然后使用新的账号登录,首次登录会是提示我们修改密码。修改密码之后我们再登录一次,现在来修改默认的语言,改成简体中文,保存之后刷新一次界面就变成中文的了。
03:09
如果只有一个项目是没有必要建立组的,或者是我们只是学习也没有必要建立组。建立组它有一个好处,在组下面的项目是可以共享标记、里程碑、议级,还有会员的权限以及getlab runner执行器的,这样我们可以在组下面去配置标记和garon的执行器,在其他项目当中都可以共享,否则的话,我们就需要在每个项面每个项目下面单独去配置,非常的繁琐,同时也不便于管理。现在来演示一下如何创建组,点击菜单,然后选择组,再选择创建群组。我通常使用域名来做组,比如说我的域名是 netkill.cn,所以我创建的组就是 netkill.cn。
04:12
现在组就创建好了,我们可以看到组ID是四,在组下面是可以创建项目的,点击新建项目,我们可以使用模板,也可以创建空白项目,我通常是每个项目有会绑定一个域名,例如这个3w.NEQCN就是我的网站。现在项目已经创建完成,项目创建完成之后,我们需要对项目分配权限,我们只需要在组上面分配权限,项目就会继承这个权限成员,然后选择我的用户名,给他一个权限,是开发者还是维护者邀请即可。现在我们可以在下面看到权限已经添加进去,只要在组上面添加,那么项目也就同时拥有了该权限。当然我们也可以进入项目,为项目单独添加用户,因为我们要控制某些。
05:46
用户是不允许看其他项目的,这是就需要进入项目,单独的为项目分配权限,操作方式跟刚刚的组分配权限是一样的,这里就不再演示了。初始化标记什么是标记呢?标记是用来区分议题的属性的,例如创建的议题我们是定义它是为一个bug还是一个任务或者是一个需求,就是通过标签啊,这里叫标记来区分的,标记可以在组中创建。
06:29
项目会继承组的标记,也可以在项目当中去创建,还可以把项目当中的标记升级为组的标记。我先来演示一下,在项目里创建标记,在项目信息当中选择标记,它有一个功能是生成,这个生成可以帮助我们快速的生成一组标记,我们只需要在原有的标记上去修改就可以了,通常这个绿色的我们用它来做任务,红色的是bug,把英文改成中文。
07:23
这些标记是可以随意创建的,这组标记是官方提供的,我们只是仅供我们参考。例如我们可以创建呃,Bug和呃已确认,已修改,已完成,我们都可以做这些呃,创建这样的类似的标签来区分我们的议题,以及议题的工作流程跟工作流程的进度,这里只是做一个演示。
08:20
我们可以使用这个星号,点亮这个星号可以调整它的优先级,最后后面的三个点儿菜单当中有一个选项是升级到组,就可以把项目当中的定义的标记升级到组当中的标记,这样我们就不用在组组中创建了。也就是说每个项目可以拥有自己的独立的标记,区别于其他组的,也可以把共用的部分,比如像任务这种bug这种是在所有的项目当中都通用的,把它升级为组的标记,例如这里我留了几个是项目独有的,其他都升级成组标记了。现在我们进入组,在组里面查看标记。
09:38
就可以看到刚刚从项目当中升级过来的标记。我们也可以在组当中创建,例如创建一个升级,组中创建的这个升级在其他项目当中也是共享的。里程碑是项目进展的各个阶段,我通常是以版本的发布周期作为一个里程碑,例如我每周进行一次版本发布,那么我每每周就创建一个里程碑。下面演示一下如何创建里程碑,我们点击议题,然后选择里程碑。里程碑是可以在主动创建的,也可以在项目当中创建,在主主动创建,同呃,同样。
10:38
也是共享在项目当中的,在项目中当中创建的话,就是项目自己拥有的里程碑。比如我一个月做一次里程碑,那么我就写2012年11月份工作计划开始,还有它的结束日期,然后把所有的这个工作的计划写在这个里程碑的内容当中。这个描述也可以用来写release not,也就是我们发布的时候的,呃,Change log都是可以的,现在我们就创建好了。我们也可以把里程碑理解成一个一题的组,它里面会有一组一题。接下来是分支的初始化,分支的初始化包括了创建分支,呃,既开发、测试,呃,U at或者是生产。
11:45
分支创建完毕之后,我们需要在lab当中指定一个默认分支,这时用户克隆代码的时候就是从默认分支获取代码。除此之外还要设置保护分支,保护分支的目的是防止用户删除或者是有些分支我们不允许修改代码,只允许进行一个合并跟推送操作,创建一个新项目。我们可以看到默认的分支是main分支,由于master在西方是有种族歧视的色彩,所以很多公司不再采用这个master这个单词,但是我们国内仍然会使用master作为生产分支,现在我们来创建分支。
12:26
创建分支,我们通常会创建四个分支,分别是开发测试跟呃UV,还有一个master,现在是测试分支,由于是空弹码库,所以我们都呃,至于哪一个分支去创建都无所谓,代码都是一样的。最后创建一个master的分支,现在我们进入设置仓库。
13:27
首先设置默认分支,把它变成开发分支。我们要求所有的代码checkout是从开发分支checkout开发完成之后,会从开发分支向测试分支,再向u at分支,再向产品的master分支依次合并。这个main分支我们不需要了,把它解除保护之后,我们会删除它,首先把master分支设置成只有维护者才可以对它进行一个合并跟推送操作,也就是开发者是不允许动这个生产分支的,也就是只管只有管理员才能向生产分支部署,测试分支呢,是允许管理员合并,偶尔是允许开发进行一个热修复的,所以这里我给了开发开发者权限,开发分值是允许啊,U at分支,U at分支也是跟生产分支的权限是一样的,不允许开发人员去动这个分支,只允。
14:46
进去合并,后面我们会讲到通过持续程跟持续部署,如何讲开发分支向测试分支合并,再向u at分支,再向生产分支进行合并。
15:02
完成一个自动化的升级。开发分支就允许开发者进行合并跟推送。现在分支堡护已经完成,接下来是标签的堡,标签的堡通常是我们打版本号,例如V1.02.0这样的一个标签,保护的目的就是防止被误删除,它是可以使用通配符的,所以我这里使用的星V啊,微星也就是V开头的,因为我的分支通,呃,标签通常是V1.0.0.0这样的一个版本号。现在我们进入分支,把刚刚的不需要的分支删掉,分支的初始化到这里就完成了。我们可以看到这四个分支都是受保护的,受保护的分支是不能被删除的。最后介绍一下如何初始化cicd,也就是持续议程跟持续部署。在gettlab当中,密钥分成两种,一种是开发者密钥,另一种是部署密钥。开发者密钥是用户自己创建,自己设置,在自己的后台使用自己的密钥,可以通过SSH方式拉代码跟推送代码。部署密钥跟它类似,只是它用于给部署程序使用的,例如get laner。
16:39
部署密钥就是SSHK,我们使用sshkey基因这个命令来生成。一路回车,然后把生成的密钥拷虑出来,现在回到GALA当中,设置仓库,再展开部署密钥粘贴,这里可以写个标题用来区分密钥,有时候我们会创建多个密钥,如果没有标题的话,我们是不知道每密钥对应的关系的。这里不需要授权写入数据,我们只是拉代码编译部署,现在部署密钥就添加完成了。处署化部署环境,部署环境的作用就是每次部署之后会在部署环境当中留下记录。在部。
17:47
环境当中可以实现版本的回滚,在后面的章节当中会详细的介绍,这里只是做一个提前的演示,首先进入项目,然后部署环境,新建环境,输入名称。例如生产的就是production,给他一个网址,我们不同的环境如果有不同的网址,就把不同的网址填进去,如果是相同的网址,就写相同的网址,即可测试环境。
18:46
用户交付测试环境,也就是u at环境,通常用station。
19:12
最就是我们最常用的开发环境。现在我们已经把环境都初始化完毕了,现在我们来初始化GA runner GA runner可以在项目下配置,也可以在组下配置,我通常是在组下配置,因为在组下配置以后就可以共享给每个项目,复制我们的GLA网址。进入到终端,首先确认一下我们的host的配置,Host要指向我们的GALA服务器,然后输入GALA runner进行注册,这里是描述信息,这里输入shell,现在就完成注册了。关于该开呢,如何使用,后面会详细的做介绍,这里只是给大家提前做个演示,注册完成之后我们去刷新。
20:54
现在就可以看到注册的结果了,预绿色表示运行正常,点击进去我们可以看到干of runner的一些信息。现在如果我们进入到项目下面,同样是设置csc,进入这个run的菜单,可以看到相同的注册信息。
21:32
这个标签有特殊用途,用来区分多个runner,最后是初始化流水线,创建流水线,我们在默认流水线里增加一个环境的配置,这个环境就对应我们之前的部署环境,然后提交运行这个流水线。腾讯流水线运行完毕之后,我们就可以看到部署环境当中的部署记录了。
22:10
如果这个流水线运行不正常,或者出现叹号,可能是你的GALA runner没有配置好。现在我们一看到流水线已经运行完成,借助部署环境到我们的开发环境当中,就可以看到刚刚的部署记录,每部署一次,在这里会就会产生一次记录,盖lab初始化。今天就先讲到这里,这是get lab的第二讲,今天的内容比较多,如果你此前没有接触过get lab,可能比较难消化,不过没有关系,在后面的视频当中都会逐一的去讲解,有什么问题可以在评论区给我留言或者私信我。
23:10
同时关注我,不要错过每一期视频,喜欢我电子书跟视频的小伙伴,请给我点赞转发,谢谢观看。
我来说两句