有奖捉虫:行业应用 & 管理与支持文档专题 HOT
文档中心 > CODING DevOps > 最佳实践 > 将项目发布至集群
本文将通过示例项目,演示如何从代码仓库开始,最终将项目自动化发布至集群中。

操作步骤

步骤1:导入示例代码仓库

先在团队创建全功能 DevOps 项目。

在代码仓库中导入开源 示例代码仓库


步骤2:创建持续集成任务

1. 选择项目内左侧产品栏持续集成,单击右上角创建构建计划,选择部署分类下的“推送到 Kubernetes”模板。

2. 示例仓库中已含有 Dockerfile 文件,因此仅需自定义镜像名称。若制品仓库中没有 Docker 类型仓库,可以在第三步单击页面上的创建新的制品库

3. 创建完成后,前往持续集成设置的触发规则,勾选代码源触发。当 master 分支有代码变更时将自动触发持续集成任务,你也可以配合团队工作流,自定义多种自动触发方式。


步骤3:配置目标制品仓库

软件制品是指由源码编译打包生成的二进制文件,不同的开发语言对应着不同格式的二进制文件,这些文件通常可以直接运行在服务器上,用以支撑应用运行。持续集成任务运行成功后,前往制品仓库中就可以查看已推送的制品,您可以参见 Docker 在本地进行镜像推拉。

获取制品仓库的拉取链接。

将制品的拉取地址填写至代码仓库中 /k8s/deployment.yaml中的 image 参数中。


步骤4:创建云端容器服务

1. 前往腾讯云 控制台,单击开通容器服务。在集群中新建命名空间(Namespace)用于存储自动生成的制品仓库访问凭证,本文中所使用的集群命名为: cd-demo。

2. 新建命名空间后,返回 CODING 站点,单击首页左侧的基础设施,在云账号中绑定腾讯云账号。



3. 成功添加云账号后,在应用中心(旧版)中单击创建应用,填写应用名与选择部署方式。

4. 选择部署到 Kubernetes 集群模板,填写名称与描述后完成创建。

5. 接下来需导入云账号的 imagePullSecrets 至代码仓库中。在基础设施 > 云账号中单击查看详情后,复制名称。

6. 粘贴至代码仓库中的 deployment.yaml 文件中,同时在 namespace 参数一栏中填写在上文中所创建的命名空间 cd-demo

同一层级的 service.yaml 文件中的 namespace 内容也需保持一致。


步骤5:自动化发布至集群

进入部署流程配置页面,可以为此流程设定:
流程的执行选项(在此示例中保持默认即可)
部署 Deployment 阶段以及部署 Service 阶段所需制品
手动或自动触发
首先配置部署(Manifest)阶段。基础设置选择已绑定的云账号,在 Manifest 来源选择:CODING 代码库,填写相应的路径。

配置部署 Service 阶段时步骤同上,但在文件路径处需选择 k8s/service.yaml 文件。

镜像版本配置默认选择自动获取镜像来源。若设置自定义版本规则,将仅传送特定的 image 版本信息号至集群中。

完成部署阶段配置后,您可以在基础配置中选择触发器类型,选择 Docker 仓库触发器。当开发人员更新代码仓库并使用 CI 将镜像打包推送至制品库后,Docker 镜像的更新将自动触发部署流程,并将应用发布至 Kubernetes(TKE)集群,完成后可以在基础设施页面查看并确认应用是否发布成功。


步骤6:发布成功

发布成功后,可以查看发布的制品及启动参数及阶段执行详情等信息。

当需要查看某个资源在集群中的运行状态时,单击集群下的工作负载即可查看详情(例如工作负载的 Pod 实例,日志等信息)。

在腾讯云的容器服务中查看工作负载。