容器与 DevOps 有什么关系?
DevOps 可以加快一个想法从提出到部署的整个过程。DevOps 的核心在于,在应用的整个生命周期中,都要确保日常运维任务自动化和环境的标准化。容器可以提供标准化的环境,您需要一个平台来管理它们,同时提供内置的自动化功能并支持各种基础架构。统信容器云管理平台有雀就是一个支持 DevOps 倡议的企业就绪型 Kubernetes 平台,值得一提的是今年有雀容器云管理平台更新版本新增了可视化部署、多集群管理及众多扩展Operator组件,同时本文我们也是通过使用有雀平台进行实操,带大家熟悉如何使用容器自动化构建部署流程。
Source-to-Image (S2I) 是一种用于构建可重复生成的 Docker 格式容器镜像的工具。它通过将应用程序源代码注入容器镜像并汇编新镜像来生成可随时运行的镜像。新镜像融合了基础镜像(构建器)和构建的源代码,并可搭配 buildah run 命令使用。S2I 支持递增构建,可重复利用以前下载的依赖项和过去构建的工件等。
视角切换到开发者,选择+添加中的从Git导入。
填入仓库地址,注意如果需要指定仓库分支可在“Git参考”中填写,仓库根目录可以通过“Context dir”指定,如果为私库可以在“源 Secret”中添加您的用户名密码。
因为我已经知道仓库代码是一个Nginx项目,这里“Builder Image”选择Nginx,随后填写应用名称后点击创建即可。
等待构建完成应用启动后,应用会自动部署到项目,点击拓扑界面应用右上角的路由图标访问应用。
在构建配置中找到webhook,点击Generic方式中的“使用Secret复制URL”复制链接。
来到gitlab或github中,找到对应的项目并在设置中的webhook设置网址为刚刚复制的链接地址,注意如果是私签服务取消勾选“验证SSL”,点击创建后成功设置完成触发器。
简单修改你的应用代码并做一次提交推送。
可以在构建配置中发现,已经有一个新的构建开始运行,且触发者是刚刚配置的“Generic Webhook”。
来到部署页面可以发现已经有新的副本集被创建,当然也可以选择之前的副本集对应用进行回滚。
重新访问应用发现页面已被修改为新的版本。
管道Pipelines 基于 Tekton 开源项目,旨在其自己的容器中运行 CI/CD 管道的每个步骤,并允许每个步骤独立扩展以满足管道的需求。对于试图优化其基础设施资源的运营团队来说,有助于降低开发人员所需的管道运行成本和开销。
登录有雀后视角选择器切换为开发者,选择管道后点击右上角的创建按钮来创建管道,通过yaml视图中的“样本”选择“docker-build-and-deploy-pipeline”点击试用,随后会在yaml文本编辑器中自动填充样本配置,点击创建后成功创建管道并页面切换到管道界面。
点击右上角操作进行编辑管道,现在可以自定义修改或组装管道以达到您期望的执行顺序及执行步骤。这里的“fetch-repository”和“build”步骤修改主要参考图中的几点。
配置完成后,点击右上角的开始管道,填写需要的参数,工作区workspace选择卷声明模板,注意如果是私库,在高级选项中添加secret以添加git仓库或容器镜像仓库的认证,随后点击开始按钮开始管道。
通过观察管道运行的日志发现成功构建了容器镜像。
随后检查容器镜像仓库,成功找到构建后推送的容器镜像。
点击管道右侧的操作按钮并选择“添加触发器”,来到添加页面填写内容并添加,随后pipeline会创建一个事件监听的pod。
在gitlab项目的webhook中配置事件监听器地址,点击测试push event触发管道运行。
CI/CD(持续集成/持续交付)是现代软件开发中的关键实践,对于提高软件交付过程的效率、质量和可靠性至关重要。统信有雀的自动化构建和部署流程通过集成开发、构建、部署、测试和监控等环节,提供了一个全面的解决方案,加速应用程序的交付的同时确保高质量和稳定性。
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!