猪齿鱼应用和环境没有对应上,烦请看看是什么问题,谢谢?

  • Choerodon平台版本:0.16.0

  • 运行环境:自主搭建

  • 问题描述:

    请尽量详细的描述您遇到的问题,以便我们能更快速的提供解决办法。

    如:在猪齿鱼上新增了一个测试环境,但是在应用部署页面查询应用,发现一个问题


    我选择开发环境,然后点击打开应用列表,查询出来的是之前部署的应用,这个是正常的。
    但是我选择测试环境,然后点击打开应用列表,查询出来的却还是开发环境部署的应用,测试环境是早上新增的,还未部署任何应用。

我看了下mysql数据库的devops_service这个database的devops_app_instance的表结构

mysql> desc devops_app_instance;
+-----------------------+---------------------+------+-----+-------------------+----------------+
| Field                 | Type                | Null | Key | Default           | Extra          |
+-----------------------+---------------------+------+-----+-------------------+----------------+
| id                    | bigint(20) unsigned | NO   | PRI | NULL              | auto_increment |
| code                  | varchar(64)         | YES  | UNI | NULL              |                |
| app_id                | bigint(20) unsigned | YES  |     | NULL              |                |
| app_version_id        | bigint(20) unsigned | YES  |     | NULL              |                |
| env_id                | bigint(20) unsigned | YES  |     | NULL              |                |
| command_id            | bigint(20) unsigned | YES  |     | NULL              |                |
| status                | varchar(32)         | YES  | MUL | NULL              |                |
| object_version_number | bigint(20) unsigned | YES  |     | 1                 |                |
| created_by            | bigint(20) unsigned | YES  |     | 0                 |                |
| creation_date         | datetime            | YES  |     | CURRENT_TIMESTAMP |                |
| last_updated_by       | bigint(20) unsigned | YES  |     | 0                 |                |
| last_update_date      | datetime            | YES  |     | CURRENT_TIMESTAMP |                |
+-----------------------+---------------------+------+-----+-------------------+----------------+
12 rows in set (0.00 sec)

这个表是有env_id字段的,为何页面上应用和环境却没有对应上?

  • 执行的操作:
    如:我看了下,目前开发环境在kubernetes里对应的namespace是dev,测试环境在kubernetes里对应的namespace是test,但是我看chart里的deployment都未指定namespace。
    但是在kubernetes查询对应的namespaces却都是正常的,这个是如何实现的?

  • 报错信息(请尽量使用代码块的形式展现):

  • 建议:

    提出您认为不合理的地方,帮助我们优化用户操作

你好,应用列表是选择你要部署的应用,显示的是所有应用。而不是已经部署的。

具体可以参考文档

http://choerodon.io/zh/docs/user-guide/deployment-pipeline/application-deployment/

我的意思是为什么不按照环境来显示当前选择环境下的应用?

我选择了测试环境,但是我测试环境都是全新的,不应该显示应用?
还是说应用不区分环境?

你好,我们这边的设计是这样的,应用和环境没有必然的关系, 应用部署时查询应用是当前项目下可部署的应用,一个应用可以部署在项目不同的环境中,只是生成实例时的配置信息会根据环境的不同而不同(这是应用部署时选择环境的目的),比如开发环境是开发环境的数据库连接地址,测试环境是测试环境数据库的连接地址,类似于

结果就是: 我同一个应用部署在了3个环境中,应用版本不一样,各个环境的配置信息也不一样