全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:15805121342

使用GitLab如何在20分钟或更短的时间内建立CI / CD管道

发布时间:2019-10-23 13:09 作者:宿迁永泰网络公司

如何在20分钟或更短的时间内建立CI / CD管道

使用GitLab的Auto DevOps功能,将您的管道部署到Kubernetes只是一个“麻烦事”。

在软件开发中,时间确实是金钱。GitLab用户知道,通过使用我们的Auto DevOps功能,您只需两个简单的步骤即可将代码从生产转移到生产。
Digital Ocean的Eddie Zaneski参加了我们在首届用户大会GitLab Commit上的布鲁克林。在内容丰富而轻松的演讲中,Eddie演示了如何在20分钟内从头开始或使用GitLab的Auto DevOps工具来构建和部署CI / CD管道并将其部署到Kubernetes集群。
在演示中,Eddie和他的联合创始人在为他用于演示的“创业公司”应用程序“ Screaming Chicken Club”开发时确实发挥了作用。
Eddie Zaneski@eddiezane
 
 
Massive shoutout to @kamaln7 for building http://screamingchicken.club  and lending it to me for #GitLabCommit
 
12
上午3:35 - 2019年9月18日
Twitter 广告信息与隐私
 
查看 Eddie Zaneski 的其它推文
 
 
 
“我现在正试图筹集资金,而风险投资家正在关注我的技术,”埃迪在他的假设性初创企业中说道。“通过拥有超级安全且经过深思熟虑的DevOps管道,可以轻松获得VC的信誉,这就是GitLab真正发挥作用的地方。”
Auto DevOps是一种开箱即用的解决方案,它通过自动化构建CI / CD管道的复杂组件来帮助将代码更快地投入生产,例如:检查是否存在漏洞;检查它的依赖关系,检查它的许可证;将其部署到Kubernetes集群; 设置主机名;DNS,TLS证书;自动为您更新它们并进行性能测试。”
那你会从哪里开始?

启动您的Kubernetes集群

GitLab Commit London加入10月9日的用户会议!现在注册 
GitLab与Kubernetes进行了气密性集成,这使得可以通过使用Auto DevOps或自行构建管道将软件从GitLab的CI / CD管道部署到Kubernetes。无论哪种方式,第一步都是配置一个新的Kubernetes集群以部署您的应用程序。
切换到GitLab的左侧边栏,然后单击Kubernetes>操作>添加集群,非常简单。此过程适用于GCP或GKE用户以及非Google Cloud或使用本地解决方案的用户。在演示中,Eddie使用Digital Ocean的托管Kubernetes服务创建了集群,选择了数据中心,然后选择了节点的大小。埃迪(Eddie)估计此过程将花费三到五分钟的时间。
下一步是将Kubernetes集群集成到项目中,这需要许多手动任务,包括获取Kubernetes API服务器的URL,创建服务帐户并将其绑定到集群管理员,以及获取所生成的服务令牌。 。本着创新捷径的精神,Eddie创建了一个kubectl插件,使将Kubernetes集群添加到相关的GitLab项目变得更加容易。
“实际上,这将自动将Kubernetes集群引导到您的GitLab项目中,创建所有服务帐户,发出所有GitLab API请求,并处理所有事务。”谢谢,Eddie!
接下来,只需获取GitLab项目ID,然后运行:
kubectl gitlab-bootstrap gitlab-project-id
结果是一个URL。遵循URL,以在GitLab项目中查看有关Kubernetes集群的更多信息。

由GitLab管理的应用程序使您的生活更轻松

到达那里后,您将看到一个由GitLab管理的应用程序的列表。一键安装这些应用程序即可帮助管理新的Kubernetes集群。
  1. Helm:首先安装Helm,因为它是Kubernetes的软件包管理器,并且需要安装其他应用程序。
  2. Ingress:安装Helm后,您可以安装Ingress控制器,该控制器将处理集群中的所有路由和映射,并在后台创建负载均衡器。复制显示的IP地址;您稍后需要它。
  3. Prometheus:监视您已部署的应用程序的开源工具。
  4. Cert-Manager:它将处理所有证书,并确保所有内容都是最新的。
  5. GitLab Runner:允许您在自己的主机上或Kubernetes集群中运行GitLab CI / CD。
其中的超级明星是GitLab Runner,它是一个开放源代码项目,用于运行CI / CD作业并将结果发送回GitLab。
更改包括:

只需单击一个按钮即可启动Auto DevOps

创建Kubernetes集群并安装所需的应用程序后,只需单击一下按钮即可启动Auto DevOps流程。
启用自动DevOps
通过启用Auto DevOps并选择您的部署策略(在这里需要Ingress IP地址),您就可以启动CI / CD管道。

或启动您自己的Auto DevOps流程

不想使用我们现成的Auto DevOps功能吗?不用了 好消息是,您可以在部署过程的每个组件中使用基础源代码,从而使您轻松解析要运行的作业。
“ GitLab开源的伟大之处在于,没有什么是魔术,对吗?所有这些都是源代码,我们都可以查找和阅读。” Eddie说。
整个现成的Auto DevOps流程的源代码位于GitLab存储库中的一个YAML文件中。GitLab用户只需将基础源代码复制/粘贴到正确配置的终端中,就可以在Auto DevOps流程中从构建到清理的每个阶段分别运行作业。
YAML文件中包含每个Auto DevOps阶段中重要作业的各个模板和组件。您可以选择要使用的组件。请注意,不需要导入任何内容,因为所有内容都随您的GitLab安装一起提供。
在演示中,Eddie作为示例运行了构建和部署阶段的作业。
记住要回到负载平衡器,并获取为配置DNS而创建的IP地址入口git push,然后,中提琴!您的CI / CD管道正在运行。

管道内窥视

在演示过程中,埃迪(Eddie)到幕后解释了管道中为他开始的构建和部署工作所发生的情况。

建立

埃迪说:“它将为我们处理很多事情。” 该管道使用Docker在Docker内部构建容器,该容器将登录到我们的Kubernetes集群的容器注册表。
“因此GitLab会自动为您的项目提供一个容器注册表,” Eddie说。“它将替换一大堆环境变量,并处理所有登录并生成令牌,以及所有这些。因此,我们实际上不必考虑任何事情。”
接下来,将加载Docker基本映像。Eddie详细介绍了如何编写Docker设置,但是GitLab构建组件可以自动确定您正在运行的项目的类型,并生成具有构建容器的最佳实践的Docker文件。
“所以我的项目正在构建,编译,将我的各层推入到容器注册表中,然后我的构建工作应该很快完成,然后我的部署工作就会开始,” Eddie解释说。

部署

通过展开Helm图表开始部署作业,该Helm图表会自动将所需信息(例如容器ID,主机名,名称空间等)填充到模板中。然后,它将创建Ingress ID,然后部署应用程序。

使用GitLab和Kubernetes将您的CI / CD管道置于自动驾驶仪上

在短短的几分钟内,Eddie通过使用GitLab和Kubernetes演示了两种不同的方式来构建CI / CD管道。尽管我们的Auto DevOps功能实现了它,所以您不必从头开始创建一堆YAML(因为面对现实,如果您正在运行Kubernetes,您已经在运行大量的YAML),我们的开源Auto DevOps通过该过程,可以选择要运行的组件或作业。

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。