Operation Config Center
  1. 引擎-配置管理
Operation Config Center
  • 接口配置化
    • 产品服务交货信息组关联配置
      POST
    • 服务交货信息详情
      POST
    • 供应商接口信息详情
      POST
    • 供应商接口账号详情
      POST
    • 服务接口交货信息关联配置
      POST
  • PLM提供
    • 产品信息查询(Portal)
      POST
    • 产品国家查询(EJF,平台接单)
      POST
    • 产品揽收仓查询(EJF,平台接单)
      POST
    • 产品信息查询(EJF,平台接单)
      POST
    • 产品预报信息取值配置查询
      POST
    • 产品国家策略组配置
      POST
    • 产品国家模板查询
      POST
  • 验证引擎
    • 验证规则组查询
      POST
    • 删除验证规则组
      POST
    • 过滤规则提示列表查询
      POST
    • 报错提示语列表查询
      POST
    • 批量删除特殊规则提示
      POST
    • 批量删除报错提示语
      POST
    • 获取可校验的字段列表
      POST
    • 获取验证规则列表
      POST
  • 单号配置获取
    • 服务号段获取
    • 服务面单获取
  • 引擎
    • 渲染Liquid模板
    • 运行流程
    • 执行决策树
    • 校验条件
    • 发送HTTP请求
    • 解析Excel文件-单元格
    • 填充Excel文件-单元格
    • 填充Excel文件-列
    • 上传Oss文件
    • 下载Oss文件
    • 上传S3文件
    • 下载S3文件
    • 关联配置
  • 引擎-配置管理
    • 微服务DevOps流程(腾讯云)
    • 新增配置
      POST
    • 修改配置
      PUT
    • 通过编码查询配置
      GET
    • 查询配置列表
      GET
    • 通过编码运行配置
      POST
  1. 引擎-配置管理

微服务DevOps流程(腾讯云)

微服务DevOps流程#

一. 创建命名空间
地址:https://console.cloud.tencent.com/tcr/namespace
image.png
二.创建镜像仓库
地址:https://console.cloud.tencent.com/tcr/repository/
image.png
三.创建服务级账号,用于Jenkins上传镜像
地址:https://console.cloud.tencent.com/tcr/serviceaccount
image.png
四.编写Jenkins脚本,上传镜像

def notifyDingTalk(text) {
    #设置钉钉群通知,镜像上传成功后会通知到钉钉群
    def url = '钉钉群机器人url'
    def message = JsonOutput.toJson([msgtype: 'markdown', markdown: [title:'你自己设置的关键字',text: text]])
    sh "curl -H 'Content-Type: application/json' -d \'${message}\' ${url}"
}

node {
    stage('Prepare') {
        deleteDir()

        project_name = 'occ'
        dockerfile_folder = 'Occ.Engine'
        git_name = 'Occ.Engine'
        git_url = "http://gitlab.yw56.com.cn/${project_name}/${git_name}.git"
        deploy_branch_name = 'develop'
        app_name = 'occ-engine-api'
        build_tag = "fat"
    }

    stage('SCM') {
        withCredentials([gitUsernamePassword(credentialsId: 'larry-gitlab', gitToolName: 'Default')]){
            sh("git clone ${git_url}")
            
            dir(git_name) {
                latest_branch_name =  "origin/${deploy_branch_name}"
 
                sh("git checkout -b ${deploy_branch_name} ${latest_branch_name}")
                sh("git pull")

                commit_info = sh(returnStdout: true, script: 'git log -1 --pretty=format:%h:%an:%s').trim()
                echo "latest_branch_name:${latest_branch_name};commit_info:${commit_info}"
            }
        }
    }
    stage('Build Images') {
      dir("${git_name}") {
          sh "docker build --force-rm -f Occ.Engine.Api/Dockerfile -t Occ.Engine/${app_name}:${build_tag} ."
      }
    }
    stage('Push-Ali') {
        docker_host = "registry.cn-hangzhou.aliyuncs.com"
        docker_img_name = "${docker_host}/yanwentech/${app_name}"
        echo "docker-img-name: ${docker_img_name}"
        withCredentials([usernamePassword(credentialsId: 'docker-registry-hz', passwordVariable: 'dockerPassword', usernameVariable: 'dockerUser')]) {
            sh "docker login -u ${dockerUser} -p ${dockerPassword} ${docker_host}"
            sh "docker tag Occ.Engine/${app_name}:${build_tag} ${docker_img_name}:${build_tag}"
            sh "docker push ${docker_img_name}:${build_tag}"
            sh "docker rmi -f ${docker_img_name}:${build_tag}"
        }
    }
    
    stage('Push-Tencent') {
        docker_host = "yanwen.tencentcloudcr.com"
        docker_img_name = "${docker_host}/fat-occ/${app_name}"
        echo "docker-img-name: ${docker_img_name}"
        withCredentials([usernamePassword(credentialsId: 'yanwen.tencentcloudcr', passwordVariable: 'dockerPassword', usernameVariable: 'dockerUser')]) {
             sh """
                    echo \$dockerPassword | docker login ${docker_host} --username \${dockerUser} --password-stdin
                    docker tag Occ.Engine/${app_name}:${build_tag} ${docker_img_name}:${build_tag}
                    docker push ${docker_img_name}:${build_tag}
                    docker rmi -f ${docker_img_name}:${build_tag}
                """
        }
    }
    
    stage('Clear Images') {
        dir("${git_name}") {
            sh "docker rmi -f Occ.Engine/${app_name}:${build_tag}"
        }
    }

    stage('Notify') {
        script {
            def text = "- 项目:${JOB_NAME}\n- 任务:[${BUILD_DISPLAY_NAME}](${BUILD_URL})\n- 状态:${currentBuild.currentResult}\n- 持续时间:${currentBuild.duration}\n- 提交信息:${commit_info}"
            notifyDingTalk(text)
        }
    }
}   

五.配置拉取凭证
image.png
六.部署镜像
apiVersion: apps/v1
kind: Deployment
metadata:
  name: occ-engine-api-prod
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: occ-engine-api-prod
  template:
    metadata:
      labels:
        app: occ-engine-api-prod
    spec:
      containers:
        - name: occ-engine-api-prod
          resources:
            limits:
              cpu: 500m
              memory: 1Gi
            requests:
              cpu: 250m
              memory: 256Mi
          image: yanwen.tencentcloudcr.com/prod-occ/occ-engine-api:1.0.131
          imagePullPolicy: Always
          env:
            - name: ConnectionStrings__ConfigDb
              valueFrom:
                secretKeyRef:
                  key: ConfigDb
                  name: prod-occ-engine-api-appsettings
            - name: ConnectionStrings__RedisDb
              valueFrom:
                secretKeyRef:
                  key: RedisDb
                  name: prod-occ-engine-api-appsettings
            - name: LightHouse__YcsExchangeRate__BaseAddress
              valueFrom:
                secretKeyRef:
                  key: YcsExchangeRate_BaseAddress
                  name: prod-occ-engine-api-appsettings
            - name: OAuth__console_url
              valueFrom:
                secretKeyRef:
                  key: OAuth_console_url
                  name: prod-occ-engine-api-appsettings
            - name: OAuth__redirect_uri
              valueFrom:
                secretKeyRef:
                  key: OAuth_redirect_uri
                  name: prod-occ-engine-api-appsettings
            - name: OAuth__client_id
              valueFrom:
                secretKeyRef:
                  key: OAuth__client_id
                  name: prod-occ-engine-api-appsettings
            - name: OAuth__client_secret
              valueFrom:
                secretKeyRef:
                  key: OAuth__client_secret
                  name: prod-occ-engine-api-appsettings
      dnsPolicy: ClusterFirst
      imagePullSecrets:
        - name: tcr-wangly
      restartPolicy: Always
七.创建服务
image.png
image.png
八.创建路由
screencapture-console-cloud-tencent-tke2-cluster-sub-create-service-ingress-2025-07-03-17_35_54.png
修改于 2025-07-16 07:51:05
上一页
关联配置
下一页
新增配置
Built with