跳至主要內容

大约 3 分钟

腾讯云容器部署

1、创建容器

登录腾讯云控制台--》容器服务--》集群--》选择命名空间 pcitc-si-platform

image-20220113172913514

image-20220113173002607

如下为容器工作节点。可通过新建创建新的工作节点。

image-20211103134900408

新建工作节点

工作负载名:可根据应用名称自定义名称

命名空间:pcitc-si-platform

类型:deployment

容器:定义容器名称,可定义和负载名称一致

镜像:从个人镜像仓库中选择部署镜像。

镜像版本:默认问latest,可手动选择

CPU内存限制:可根据应用所需内存调节数值

访问设置:

如应用需要暴露端口供外网访问,则选择 “主机端口访问”,不需要提供外部访问则选择 “仅在集群内访问”。

image-20211103135258604

容器可通过构建计划 创建也可线下创建 上传到腾讯云容器仓库 然后进行部署。

2、线下上传镜像流程

点击镜像仓库-》地域选择广州 -》点击新建

image-20220104155010119

image-20220104155038841

可通过仓库信息查看到该仓库的名称及地址。

同通过 docker tag 和docker push 命令进行上传到镜像仓库 然后到容器中手动更新容器。

3、构建计划

点击Devops

image-20211103142745280

点击立即使用进入

image-20211103142807016

点击项目进入对应项目

image-20211103142852635、

点击构建计划 ,即可对构建计划创建,维护,执行等操作。

image-20211103142932896

创建构建计划 ,选择镜像仓库 --》构建镜像并推送至TCR个人版

image-20211103143005399

根据代码所在位置选择代码仓库,如选择私有gitlab则需要 私有git库与项目关联后才能选择“代码仓库”。

环境变量如,所在地域,命名空间,仓库名称,访问凭证选择对应下拉框变量即可。.

镜像命名规则,可根据变量规则选择。如需其他变量可通过如下地址查看说明

https://help.coding.net/docs/ci/configuration/env.html

image-20211103143237571

环境变量编辑维护,变量可在构建构成中使用${变量名} 方式使用,构建计划缓存可根据构建项目类型 ,选择 maven,gradle,npm。可大幅加速构建速度。

image-20211103143346728

如构建分支需要变更,可通过触发规则 配置,手动触发和代码触发,可根据选择配置分支名称,也可指定定时触发构建或通过API方式触发。

image-20211103143415127

配置构建流程,检出代码--》编译-》构建镜像-》推送经理到镜像仓库-》镜像更新到容器

image-20211103143504008

编译:可选择 执行shell脚本

image-20211103143549716

构建镜像:选择执行shell脚本,docker命令 构建镜像,如项目存在多模块情况,可根据目录结构切换 执行命令。

image-20211103144030881

cd si-fss-zj-service

docker build -t ${TCR_NAMESPACE_NAME}/${TCR_IMAGE_NAME}:latest  .

docker tag ${TCR_NAMESPACE_NAME}/${TCR_IMAGE_NAME}:latest  ${TCR_NAMESPACE_NAME}/${TCR_IMAGE_NAME}:${GIT_COMMIT} 

注:${TCR_NAMESPACE_NAME} 为前面维护的环境变量。

image-20211103144047595

使Pipeline 脚本推送到镜像仓库。

docker.withRegistry("https://${TCR_REGISTRY_HOSTNAME}", "${TCR_REGISTRY_CREDENTIAL}") {

 docker.image("${TCR_NAMESPACE_NAME}/${TCR_IMAGE_NAME}:latest").push()

 docker.image("${TCR_NAMESPACE_NAME}/${TCR_IMAGE_NAME}:${GIT_COMMIT}").push()

 docker.image("${TCR_NAMESPACE_NAME}/${TCR_IMAGE_NAME}-web:latest").push()

 docker.image("${TCR_NAMESPACE_NAME}/${TCR_IMAGE_NAME}-web:${GIT_COMMIT}").push()

}

image-20211103144133578

部署:选择镜像更新功能

image-20211103144301064

镜像:${TCR_REGISTRY_HOSTNAME}/${TCR_NAMESPACE_NAME}/${TCR_IMAGE_NAME}:latest

集群,命名空间,资源类型,资源名称,pod容器根据下拉框选择即可。