CI成功,应用部署失败

  • Choerodon平台版本:0.13.0

  • 运行环境:自主搭建

  • 问题描述:

你chart仓库的地址是 http://chart.example.com/??
这个地址能访问到?

我安装chartmuseum的时候域名用的是example.choerodon.io
怎么在部署的时候却用的是http://chart.example.com
http://example.choerodon.io/operation/test能正常访问,请问后续我该怎么修改这个helm仓库配置?

http://chart.example.com不能访问,我的chart仓库是 http://example.choerodon.io

devops-service 关于chart的环境变量有三个:
SERVICES_HELM_URL
AGENT_REPOURL
AGENT_CERTMANAGERURL

AGENT_REPOURL、AGENT_CERTMANAGERURL根据文档进行设置,SERVICES_HELM_URL是你搭建的chart地址。
官方文档地址:
http://choerodon.io/zh/docs/installation-configuration/steps/install/parts/choerodon-devops/

devops-service的环境变量如下,SERVICES_HELM_URL配错了

请问一下,我这个该怎么修改呢?

我修改chartmuseum的域名可以吗?
刚才试过直接修改了配置库里面的yaml文件的chart仓库配置,然后重新部署了还是不行。

helm upgrade一下这个服务,把对应的环境变量重新set一下就好了

helm upgrade devops-service c7n/devops-service
–set env.open.SERVICES_HELM_URL=“http://example.choerodon.io
-f <(helm get values devops-service)
–version 0.13.4

这样么?

嗯嗯

这个问题已经解决了,但是部署的时候又出现了新的问题

日志详情如下
### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘todo_service.mgmt_service’ doesn’t exist
### The error may exist in io/choerodon/config/mapper/ServiceMapper.java (best guess)
### The error may involve io.choerodon.config.mapper.ServiceMapper.selectOne-Inline
### The error occurred while setting parameters
### SQL: SELECT creation_date,created_by,last_update_date,last_updated_by,object_version_number,id,name FROM mgmt_service WHERE name = ? limit 1
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘todo_service.mgmt_service’ doesn’t exist
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘todo_service.mgmt_service’ doesn’t exist
2019-02-26 16:52:29.247 INFO [-,] 8 — [ Thread-4] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@15327b79: startup date [Tue Feb 26 16:52:19 CST 2019]; root of context hierarchy
2019-02-26 16:52:29.249 INFO [-,] 8 — [ Thread-4] o.s.j.e.a.AnnotationMBeanExporter : Unregistering JMX-exposed beans on shutdown

我这个应用中没有用到 mgmt_service这个表,为什么会有这种提示呢?
部署的配置信息如下:
replicaCount: 1

image:
repository: registry.example.choerodon.io/operation-test/choerodon-todo-service
pullPolicy: Always

preJob:
preConfig:
configFile: application.yml
mysql:
host: 192.168.1.151
port: 3306
database: todo_service
username: huateng
password: 123456
preInitDB:
mysql:
host: 192.168.1.151
port: 3306
database: todo_service
username: huateng
password: 123456

deployment:
managementPort: 18081

env:
open:
## register-server
EUREKA_CLIENT_SERVICEURL_DEFAULTZONE: http://register-server.io-choerodon:8000/eureka/
## config-server
SPRING_CLOUD_CONFIG_ENABLED: true
SPRING_CLOUD_CONFIG_URI: http://config-server.framework:8010/
## mysql
SPRING_DATASOURCE_URL: jdbc:mysql://192.168.1.151/todo_service?useUnicode=true&characterEncoding=utf-8&useSSL=false
SPRING_DATASOURCE_USERNAME: huateng
SPRING_DATASOURCE_PASSWORD: 123456
## kafka
CHOERODON_EVENT_CONSUMER_KAFKA_BOOTSTRAP_SERVERS: kafka-0.kafka-headless.kafka.svc.cluster.local:9092,kafka-1.kafka-headless.kafka.svc.cluster.local:9092,kafka-2.kafka-headless.kafka.svc.cluster.local:9092
SPRING_CLOUD_STREAM_KAFKA_BINDER_BROKERS: kafka-0.kafka-headless.kafka.svc.cluster.local:9092,kafka-1.kafka-headless.kafka.svc.cluster.local:9092,kafka-2.kafka-headless.kafka.svc.cluster.local:9092
SPRING_CLOUD_STREAM_KAFKA_BINDER_ZK_NODES: zookeeper-0.zookeeper-headless.zookeeper.svc.cluster.local:2181,zookeeper-1.zookeeper-headless.zookeeper.svc.cluster.local:2181,zookeeper-2.zookeeper-headless.zookeeper.svc.cluster.local:2181
SPRING_KAFKA_PRODUCER_VALUE_SERIALIZER: org.apache.kafka.common.serialization.ByteArraySerializer

metrics:
path: /prometheus
group: spring-boot

logs:
parser: spring-boot

persistence:
enabled: false

service:
enabled: false
type: ClusterIP
port: 18080

ingress:
enabled: false

resources:
limits:
memory: 1Gi
requests:
memory: 0.5Gi

这是你自己代码的问题啊。。。。你的entity类是不是绑定了 todo_service.mgmt_service表或者init步骤里有,你没配置对应的数据库肯定会报错的啊

嗯,原因已经找到了,我的应用的Helm Chart是直接从其他应用复制的,
image
pre-config-config.yaml文件中用到了registry.example.choerodon.io/choerodon-tools/dbtool:0.5.2
需要用到manage_service库的 mgmt_service表,这个应该是和数据初始化有关吧?只是还有个疑问,registry.example.choerodon.io/choerodon-tools/dbtool:0.5.2这个镜像有源代码么?在github上面没找到!

这个镜像主要封装一些mysql、ora等一些主流数据库的管理工具和基于liquibase的数据库初始化工具,这部分没有开源,这个只是封装了一些工具而已,数据库的连接是根据对应java程序里数据初始化的包决定的

好的,谢谢大佬!