自动化构建部署容器应用实例


风晓
风晓 2024-01-23 12:26:13 50976 赞同 0 反对 0
分类: 资源
自动化构建部署容器应用实例

引言

容器与 DevOps 有什么关系?

DevOps 可以加快一个想法从提出到部署的整个过程。DevOps 的核心在于,在应用的整个生命周期中,都要确保日常运维任务自动化和环境的标准化。容器可以提供标准化的环境,您需要一个平台来管理它们,同时提供内置的自动化功能并支持各种基础架构。统信容器云管理平台有雀就是一个支持 DevOps 倡议的企业就绪型 Kubernetes 平台,值得一提的是今年有雀容器云管理平台更新版本新增了可视化部署、多集群管理及众多扩展Operator组件,同时本文我们也是通过使用有雀平台进行实操,带大家熟悉如何使用容器自动化构建部署流程。

S2I构建

Source-to-Image (S2I) 是一种用于构建可重复生成的 Docker 格式容器镜像的工具。它通过将应用程序源代码注入容器镜像并汇编新镜像来生成可随时运行的镜像。新镜像融合了基础镜像(构建器)和构建的源代码,并可搭配 buildah run 命令使用。S2I 支持递增构建,可重复利用以前下载的依赖项和过去构建的工件等。

创建构建配置

视角切换到开发者,选择+添加中的从Git导入。

使用开发者视角添加应用。

填入仓库地址,注意如果需要指定仓库分支可在“Git参考”中填写,仓库根目录可以通过“Context dir”指定,如果为私库可以在“源 Secret”中添加您的用户名密码。

填写代码仓库地址。

因为我已经知道仓库代码是一个Nginx项目,这里“Builder Image”选择Nginx,随后填写应用名称后点击创建即可。

创建应用。

等待构建完成应用启动后,应用会自动部署到项目,点击拓扑界面应用右上角的路由图标访问应用。

检查应用。

配置触发器

在构建配置中找到webhook,点击Generic方式中的“使用Secret复制URL”复制链接。

复制webhook地址。

来到gitlab或github中,找到对应的项目并在设置中的webhook设置网址为刚刚复制的链接地址,注意如果是私签服务取消勾选“验证SSL”,点击创建后成功设置完成触发器。

配置应用项目webhook。

修改代码

简单修改你的应用代码并做一次提交推送。

修改代码。

检查运行结果

可以在构建配置中发现,已经有一个新的构建开始运行,且触发者是刚刚配置的“Generic Webhook”。

检查触发类型。

来到部署页面可以发现已经有新的副本集被创建,当然也可以选择之前的副本集对应用进行回滚。

查看副本集内容。

重新访问应用发现页面已被修改为新的版本。

查看最新应用。

管道构建

管道Pipelines 基于 Tekton 开源项目,旨在其自己的容器中运行 CI/CD 管道的每个步骤,并允许每个步骤独立扩展以满足管道的需求。对于试图优化其基础设施资源的运营团队来说,有助于降低开发人员所需的管道运行成本和开销。

创建组装管道

登录有雀后视角选择器切换为开发者,选择管道后点击右上角的创建按钮来创建管道,通过yaml视图中的“样本”选择“docker-build-and-deploy-pipeline”点击试用,随后会在yaml文本编辑器中自动填充样本配置,点击创建后成功创建管道并页面切换到管道界面。

组装管道。

点击右上角操作进行编辑管道,现在可以自定义修改或组装管道以达到您期望的执行顺序及执行步骤。这里的“fetch-repository”和“build”步骤修改主要参考图中的几点。

fetch-repository步骤。
  • sslVerify:私签服务填写false。
build步骤。
  • DOCKERFILE:指定为您需要构建的dockerfile文件。
  • TLSVERIFY:私签服务使用false。
  • BUILD_EXTRA_ARGS:构建额外参数。

开始管道

配置完成后,点击右上角的开始管道,填写需要的参数,工作区workspace选择卷声明模板,注意如果是私库,在高级选项中添加secret以添加git仓库或容器镜像仓库的认证,随后点击开始按钮开始管道。

配置启动管道的参数。

检查运行结果

通过观察管道运行的日志发现成功构建了容器镜像。

查看管道运行日志的结果。

随后检查容器镜像仓库,成功找到构建后推送的容器镜像。

检查容器镜像仓库。

添加触发器

点击管道右侧的操作按钮并选择“添加触发器”,来到添加页面填写内容并添加,随后pipeline会创建一个事件监听的pod。

在gitlab项目的webhook中配置事件监听器地址,点击测试push event触发管道运行。

一个新的管道运行被成功触发。

总结

CI/CD(持续集成/持续交付)是现代软件开发中的关键实践,对于提高软件交付过程的效率、质量和可靠性至关重要。统信有雀的自动化构建和部署流程通过集成开发、构建、部署、测试和监控等环节,提供了一个全面的解决方案,加速应用程序的交付的同时确保高质量和稳定性。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  125
统信桌面专业版【全盘安装UOS系统】介绍  119
银河麒麟桌面操作系统安装佳能打印机驱动方法  111
银河麒麟桌面操作系统 V10-SP1用户密码修改  105
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益209.03元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!