zoukankan      html  css  js  c++  java
  • 男神鹏:微服务开发规范与CI接入流程

    工业云微服务统一接入流程(方便后续标准化和接入交付平台):

    1. 接入镜像构建
    2. 录入微服务信息:暂时忽略

    镜像构建

     

    工业云后台所有微服务的软件源码统一通过 QCI 进行构建;构建所依赖的脚本和 Dockerfile 统一托管在 git 项目tools中,因此微服务项目的组织形式须符合以下两种形式:

    1. 多微服务项目【推荐方式】,例如 iam,asm,或者参考文档项目工程规范
    2. 独立微服务项目,例如 instance-center

    所有微服务项目都通过 QCI 模板的方式来创建 QCI 构建任务,请注意以下两点:

    1. 每个项目尽量在每个迭代创建一个构建任务,不要随意创建,后续统一清理现有;
    2. 代码库认证请选择“SSH + Token”方式,相关凭据选贼GIT_SSH即可,自行创建会导致 QCI 构建状态无法同步到工蜂。

    具体接入步骤请参考以下内容:

    多微服务项目接入 QCI

     

    下面我们以项目 iam 为例,独立微服务项目如何接入 QCI:

    1. 选择构建模板QCI构建模板_后台微服务项目,并新建任务
    2. 输入任务名称,建议名称为“项目名-迭代名”;关联需要的代码库:
    3. 选择名为“GIT_SSH”认证,如果没有的话,请看第4步;
    4. 新建认证(可选):
      4.1 选中需要的代码库,如果没有的话,请先登记代码库

      4.2 新增认证,认证方式选择SSH + Token,凭据选择GIT_SSH
    5. 查看基于模板生成的构建任务-iam-来自模板
    6. 任务构建时,如何设置环境变量MODULES
      • 构建多个微服务,可以填写多个微服名,并用英文分号分割
      • 构建单个微服务,填写单个微服务名
      • 构建所有微服务,填为空即可

    独立微服务项目接入 QCI

     

    下面我们以项目 instance-center 为例,独立微服务项目如何接入 QCI:

    1. 选择构建模板QCI构建模板_后台微服务项目,并新建任务
    2. 输入任务名称,建议名称为“项目名-迭代名”;关联需要的代码库:
    3. 选择名为“GIT_SSH”认证,如果没有的话,请看第4步;
    4. 新建认证(可选):
      4.1 选中需要的代码库,如果没有的话,请先登记代码库

      4.2 新增认证,认证方式选择SSH + Token,凭据选择GIT_SSH
    5. 修改环境变量MODULES接入项目的名称即可,例如项目instance-center,我们可以查看基于模板生成的构建任务-instance-center-来自模板instance-center-crontask来自模板

     

    注意:如果发现构建失败,请检查:
    是否使用 vendor 模式进行构建,但是没有上传 vendor目录?
    如何确定是否使用 vendor 模式:检查项目的 makefile 中 -mod=vendor
    如果发现容器运行异常,请检查容器的工作目录,新的 dockerfile 模板已经改为/data
    接入模板后,会知道镜像名称的改变,请注意查看下

     

    备注:服务构建完后,会同时推送到以下两个镜像仓库中:
    1. # 非云梯腾讯云仓库,边缘机房可以使用该账号
    2. ccr.ccs.tencentyun.com/cloudindustry
    3. username100008089439
    4. passwordLRSxVZwaZ#kj
    5. # 云梯自动化测试环境仓库,日常开发请勿使用
    6. ccr.ccs.tencentyun.com/autotest-cloudindustry
    7. username100011201700
    8. passwordtest@D0cker

    查看构建产物

     

    目前,QCI 的构建产物为:

    1. 服务镜像列表:message.txt
    2. 服务环境模板:env.yaml

    构建环境变量说明

     
    1. MODULES:请查看接入步骤说明
    2. MICRO_*:这两个参数用于构建时指定微服务运行的环境变量,如果是 Docker Swarm 环境下,请将这两个值置为空;
    3. 构建版本号,请自行根据迭代版本进行修改运行配置,如下所示:
  • 相关阅读:
    Codeforces Round #651 (Div. 2) C. Number Game(数论)
    Codeforces Round #651 (Div. 2) D. Odd-Even Subsequence(二分)
    Codeforces Round #651 (Div. 2) E. Binary Subsequence Rotation(dp)
    Codeforces Global Round 8 E. Ski Accidents(拓扑排序)
    Codeforces Global Round 8 A. C+=(贪心)
    Codeforces Global Round 8 B. Codeforces Subsequences(构造)
    mysql 索引类型都有哪些
    PHP正则表达式
    MySQL时间盲注五种延时方法
    MySQL benchmark() 重复执行某表达式
  • 原文地址:https://www.cnblogs.com/lyp0626/p/14148391.html
Copyright © 2011-2022 走看看