GitLab CI – CI的高级用法
环境和部署
环境用于测试、构建和部署CI(持续集成)作业,并通过GitLab控制软件的持续部署。GitLab CI能够跟踪你的项目部署,你也会知道你的服务器上正在部署什么。
环境的名称可以通过使用 environment:name 字符串来定义,并包含以下内容-
- 字母
- 数字
- 空格
- -
- _
- /
- $
- {
- }
在GitLab CI/CD中使用SSH密钥
你可以设置SSH(Secure Shell或Secure Socket Shell)密钥,为计算机和GitLab之间提供可靠的连接。在以下情况下,SSH密钥可以与GitLab CI/CD一起使用
- 你需要签出内部子模块。
- 你需要使用软件包管理器下载私有软件包。
- 你需要安装一个应用程序到你自己的服务器上。
- 你从构建环境中执行SSH命令到远程服务器。
- 你需要从构建环境中rsync文件到远程服务器。
SSH密钥的设置将在GitLab SSH密钥设置 一章中解释。
工件
Artifacts是用来在任务成功后将文件和目录列表附加到任务中的。工件包含以下类型
- artifacts:name – 该指令用于指定创建的工件档案的名称。它为创建的工件归档提供了唯一的名称,这在你从GitLab下载归档时很有帮助。
- artifacts:when – 该指令用于在工作失败时上传工件。它包含以下值:
- on_success – 它用于在工作成功时上传工件。
- on_failure – 当工作失败时用于上传工件。
- always – 它用于上传工件,不管工作状态如何。
- artifacts:expire_in – 它定义了工件在过期并因此被删除之前应该有多长时间,因为它们被上传并存储在GitLab上。
触发流水线
触发器可以通过调用API强制重建一个特定的分支或标签,带有 遗留 标签的触发器可以访问当前的项目。
可以按照以下步骤添加新的触发器 −
第1步 - 登录到你的GitLab账户,进入你的项目 –
第2步 - 点击 ” 设置 “标签下的 CI/CD 选项,并展开 ” 管道触发器 “选项
输入触发器的描述并点击 添加触发器 按钮。
第3步 - 接下来,它将显示创建触发器后的成功信息 —
第4步 - 现在去 设置 标签下的 CI/CD 选项,并展开 管道触发器 选项。你会看到新创建的触发器和标记,如下图所示
管线时间表
你可以通过使用管线时间表在特定的时间间隔内运行管线。要创建流水线计划,请使用以下步骤
第1步 – 登录到你的GitLab账户并进入你的项目 –
第2步 - 点击 CI/CD 标签下的 时间表 选项,并点击 新的时间表 按钮。
第 3步 - 接下来,它将打开调度新管道的屏幕,填写字段并点击 保存管道计划 按钮
第4步 - 现在,你将看到计划运行的管道 —
将GitLab与Kubernetes集群连接起来
Kubernetes集群可以用来审查和部署应用程序,以一种简单的方法运行管道等。你可以通过将你的GitLab账户与谷歌Kubernetes引擎(GKE)联系起来,为你的项目创建一个新的集群。
新的Kubernetes集群可以按以下步骤创建
第1步 :登录你的GitLab账户,进入你的项目—
第2步 :点击 CI/CD 标签下的 Kubernetes 选项
第3步 --接下来,点击 添加Kubernetes集群 按钮-
第4步 - 点击在 GKE上创建 按钮,在谷歌Kubernetes引擎上创建一个新的Kubernetes集群。
第5步 - 如果你有一个谷歌账户,然后用该账户登录,输入Kubernetes集群的详细信息,否则就创建一个新的谷歌账户。
第6步 - 现在为你的Kubernetes集群在字段中输入数值 –
第7步 - 在添加字段的值之前,你需要在谷歌云平台控制台中创建项目的ID,以托管Kubernetes集群。要创建ID,请点击 ” 查看你的项目 “链接,在前面的图片中突出显示。它将打开下面的屏幕,然后点击 ” 我的项目 “菜单,并点击加号(+)图标,创建一个新的项目–“我 的项目 “。
第8步 - 现在输入项目名称,并点击 创建 按钮。
第9步 - 你将得到项目的ID,它将承载Kubernetes集群 —
第 10步 - 在Kubernetes集群的字段中输入数值以及Google Cloud Platform的项目ID,然后点击 创建Kubernetes集群 按钮。