maintenanceCicd适配修改:  新增本地环境配置文件和Dockerfile,更新pom.xml以支持新的依赖管理,修改yml配置文件
1 文件已重命名
2个文件已添加
3个文件已修改
484 ■■■■■ 已修改文件
pom.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/Dockerfile 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/pom.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/resources/application-local.yml 282 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/resources/bootstrap.yml 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xp-robotaxi-maintenance-boot/src/main/resources/logback.xml.bak 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -333,4 +333,16 @@
        </pluginRepository>
    </pluginRepositories>
    <distributionManagement>
        <repository>
            <id>Releases</id>
            <url>http://nexus.logan.xiaopeng.local:8081/nexus/repository/releases/</url>
        </repository>
        <snapshotRepository>
            <id>Snapshots</id>
            <url>http://nexus.logan.xiaopeng.local:8081/nexus/repository/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
</project>
xp-robotaxi-maintenance-boot/Dockerfile
New file
@@ -0,0 +1,16 @@
FROM registry.logan.xiaopeng.local/logancloud/logan-base:1.1.4-rc1-J1.8.0_372
LABEL maintainer="Linzhaoming <linzm2@xiaopeng.com>"
ENV JAVA_OPTS="-Xmx3072m -Xms1024m -XX:NewRatio=1 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 \
-XX:+UseCMSInitiatingOccupancyOnly -XX:ReservedCodeCacheSize=128M -XX:ParallelGCThreads=2 \
-XX:+ExplicitGCInvokesConcurrent -Duser.timezone=Asia/Shanghai"
ENTRYPOINT [ "sh", "-c", "java $APP_OPTS $JMX_OPTS $JAVA_OPTS $GCLOG_OPTS -Djava.security.egd=file:/dev/./urandom -jar xp-robotaxi-maintenance-boot.jar" ]
WORKDIR /home/xpmotors/local
RUN mkdir -p /data/log/app/xp-robotaxi-maintenance-boot /data/tomcat && chown -R xpmotors:xpmotors /data/log/app/xp-robotaxi-maintenance-boot /data/tomcat
COPY target/xp-robotaxi-maintenance-boot-*-exec.jar /home/xpmotors/local/xp-robotaxi-maintenance-boot.jar
USER xpmotors
xp-robotaxi-maintenance-boot/pom.xml
@@ -15,13 +15,23 @@
    </description>
    <dependencies>
<!--        <dependency>-->
<!--            <groupId>com.alibaba.cloud</groupId>-->
<!--            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>com.alibaba.cloud</groupId>-->
<!--            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>-->
<!--        </dependency>-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <groupId>com.xiaopeng.logan</groupId>
            <artifactId>logan2-namor-client</artifactId>
            <version>1.16.0</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <groupId>com.xiaopeng.logan</groupId>
            <artifactId>logan-starter-core</artifactId>
            <version>2.3.5</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
@@ -117,11 +127,15 @@
    </dependencies>
    <build>
        <finalName>${project.artifactId}</finalName>
<!--        <finalName>${project.artifactId}</finalName>-->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <classifier>exec</classifier>
                    <executable>true</executable>
                </configuration>
                <executions>
                    <execution>
                        <goals>
xp-robotaxi-maintenance-boot/src/main/resources/application-local.yml
New file
@@ -0,0 +1,282 @@
spring:
  config:
    activate:
      on-profile: local
  autoconfigure:
    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
  redis:
    database: 99
    host: r-bp1ip8die60uuo3ovypd.redis.rds.aliyuncs.com
    password: syAktm2x9uDusoF_
    port: 6379
  data:
    mongodb:
      host: dds-bp1f4a38f3cccad4-pub.mongodb.rds.aliyuncs.com
      port: 3717
      database: xp_robotaxi
      username: xp_robotaxi
      password: hDXSBe_hs0d5KxUf
  shardingsphere:
    mode:
      type: Standalone
      repository:
        type: File
      overwrite: true
    datasource:
      names: xp0
      xp0:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://pc-bp1o444934f546768po.rwlb.rds.aliyuncs.com:3306/xp_robotaxi?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
        username: xp_robotaxi
        password: PrcZ3f_Hjp0uTcaX
        druid:
          # 连接池初始化时创建的连接数。
          # 应根据实际应用场景设置,确保应用程序启动时即可获取数据库连接。
          initial-size: 10
          # 连接池中最小的空闲连接数,保证即使在低负载时也有足够的连接可用。
          min-idle: 10
          # 连接池中最大活动连接数,限制并发请求时的数据库连接数,避免过多的连接消耗系统资源。
          max-active: 100
          # 获取连接时的最大等待时间,超过该时间则抛出异常。单位通常为毫秒。
          max-wait: 60000
          # 两个连接检查之间的时间间隔,用于检测和清理空闲过久的连接。单位为毫秒。
          time-between-eviction-runs-millis: 60000
          # 连接在被清理前的最小空闲时间。单位为毫秒。
          min-evictable-idle-time-millis: 300000
          # 用于验证连接有效性的 SQL 查询语句。
          validation-query: SELECT 1
          # 如果为真,则连接空闲时会被定期测试有效性。
          test-while-idle: true
          # 如果为真,在获取连接前进行有效性测试。
          test-on-borrow: false
          # 如果为真,在归还连接时进行有效性测试。
          test-on-return: false
          # 是否开启 PreparedStatement 缓存。
          pool-prepared-statements: true
          # 单个连接上缓存的 PreparedStatement 最大数量。
          max-pool-prepared-statement-per-connection-size: 20
          # 指定要启用的过滤器,如 stat, log4j, wall 等,用于监控和日志记录。
          filters: stat,wall,log4j
          # 连接属性,例如配置日志级别或慢 SQL 阈值。
          connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
          # 是否自动回收超时连接
          remove-abandoned: true
          # 超时时间,单位秒
          remove-abandoned-timeout: 1800
          # 是否记录被遗弃的连接
          log-abandoned: true
          # StatViewServlet配置,访问监控页面
          stat-view-servlet:
            enabled: true
            url-pattern: /druid/*
            login-username: admin
            login-password: admin
            reset-enable: false
          # 防火墙配置
          wall:
            config:
              multi-statement-allow: false
    rules:
      sharding:
        tables:
          xp_charging_record:
            standard:
              sharding-column: vehicle_id
              sharding-algorithm-name: xp_charging_record_inline
            key-generate-strategy:
              column: id
              key-generator-name: snowflake
          xp_clock_in:
            standard:
              sharding-column: app_user_id
              sharding-algorithm-name: xp_clock_in_inline
            key-generate-strategy:
              column: id
              key-generator-name: snowflake
          xp_task:
            standard:
              sharding-column: vehicle_id
              sharding-algorithm-name: xp_task_inline
            key-generate-strategy:
              column: id
              key-generator-name: snowflake
          xp_task_handle_detail:
            standard:
              sharding-column: task_id
              sharding-algorithm-name: xp_task_handle_detail_inline
            key-generate-strategy:
              column: id
              key-generator-name: snowflake
          xp_task_handle_detail_routine:
            standard:
              sharding-column: task_id
              sharding-algorithm-name: xp_task_handle_detail_routine_inline
            key-generate-strategy:
              column: id
              key-generator-name: snowflake
          xp_vehicle_detection:
            standard:
              sharding-column: task_id
              sharding-algorithm-name: xp_vehicle_detection_inline
            key-generate-strategy:
              column: id
              key-generator-name: snowflake
          xp_vehicle_preparation:
            standard:
              sharding-column: task_id
              sharding-algorithm-name: xp_vehicle_preparation_inline
            key-generate-strategy:
              column: id
              key-generator-name: snowflake
          xp_vehicle_repair:
            standard:
              sharding-column: task_id
              sharding-algorithm-name: xp_vehicle_repair_inline
            key-generate-strategy:
              column: id
              key-generator-name: snowflake
          xp_work_order:
            standard:
              sharding-column: feedback_user_phone
              sharding-algorithm-name: xp_work_order_inline
            key-generate-strategy:
              column: id
              key-generator-name: snowflake
          xp_work_order_log:
            standard:
              sharding-column: work_order_id
              sharding-algorithm-name: xp_work_order_log_inline
            key-generate-strategy:
              column: id
              key-generator-name: snowflake
      sharding-algorithms:
        xp_charging_record_inline:
          type: INLINE
          props:
            algorithm-expression: xp0.xp_charging_record_${vehicle_id % 20}
        xp_clock_in_inline:
          type: INLINE
          props:
            algorithm-expression: xp0.xp_clock_in_${app_user_id % 10}
        xp_task_inline:
          type: INLINE
          props:
            algorithm-expression: xp0.xp_task_${vehicle_id % 20}
        xp_task_handle_detail_inline:
          type: INLINE
          props:
            algorithm-expression: xp0.xp_task_handle_detail_${task_id % 20}
        xp_task_handle_detail_routine_inline:
          type: INLINE
          props:
            algorithm-expression: xp0.xp_task_handle_detail_routine_${task_id % 20}
        xp_vehicle_detection_inline:
          type: INLINE
          props:
            algorithm-expression: xp0.xp_vehicle_detection_${task_id % 10}
        xp_vehicle_preparation_inline:
          type: INLINE
          props:
            algorithm-expression: xp0.xp_vehicle_preparation_${task_id % 10}
        xp_vehicle_repair_inline:
          type: INLINE
          props:
            algorithm-expression: xp0.xp_vehicle_repair_${task_id % 10}
        xp_work_order_inline:
          type: INLINE
          props:
            algorithm-expression: xp0.xp_work_order_${feedback_user_phone % 10}
        xp_work_order_log_inline:
          type: INLINE
          props:
            algorithm-expression: xp0.xp_work_order_log_${work_order_id % 20}
        single-table:
          tables:
            - xp0.xp_check_location
            - xp0.xp_fleet
            - xp0.xp_fleet_operations
            - xp0.xp_fleet_vehicle
            - xp0.xp_policy_application
            - xp0.xp_position
            - xp0.xp_scheduling
            - xp0.xp_scheduling_detail
            - xp0.xp_shift
            - xp0.xp_task_rule
            - xp0.xp_task_rule_role
            - xp0.xp_vehicle
            - xp0.xp_vehicle_clean
            - xp0.xp_vehicle_description
    props:
      sql-show: true
      sql-simple: true
seata:
  enabled: false
  application-id: ${spring.application.name}
  tx-service-group: seata_tx_group    #此处配置自定义的seata事务分组名称
  enable-auto-data-source-proxy: false    #关闭数据库代理
  service:
    vgroup-mapping:
      seata_tx_group: default
  data-source-proxy-mode: AT
  config:
    type: nacos
    nacos:
      # 开发环境
      server-addr: 192.168.110.80:8848
      namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
      group: DEFAULT_GROUP
      data-id: seata-server.properties
      username: nacos
      password: nacos
      # 生产环境
  #      server-addr: 192.168.0.137:8848,192.168.0.123:8848
  #      namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
  #      group: DEFAULT_GROUP
  #      data-id: seata-server.properties
  #      username: nacos
  #      password: nacos
#  registry:
#    type: nacos
#    nacos:
#      application: seata-server
#      # 开发环境
#      server-addr: 192.168.110.80:8848
#      namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
#      group: DEFAULT_GROUP
#      username: nacos
#      password: nacos
#      # 生产环境
#  #      server-addr: 192.168.0.137:8848,192.168.0.123:8848
#  #      namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
#  #      group: DEFAULT_GROUP
#  #      username: nacos
#  #      password: nacos
#  cloud:
#    nacos:
#      discovery:
#        # 开发环境
#        server-addr: 192.168.110.80:8848
#        namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
#        group: DEFAULT_GROUP
#        application: seata-server #Nacos 中 Seata 名称
#        username: nacos
#        password: nacos
#        # 生产环境
#    #        server-addr: 192.168.0.137:8848,192.168.0.123:8848
#    #        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
#    #        group: DEFAULT_GROUP
#    #        application: seata-server #Nacos 中 Seata 名称
#    #        username: nacos
#    #        password: nacos
#    sentinel:
#      transport:
#        dashboard: 192.168.0.137:8080  #  Sentinel控制台地址
#      eager: true
  #  datasource:
  #    driver-class-name: com.mysql.cj.jdbc.Driver
  #    url: jdbc:mysql://pc-bp1o444934f546768po.rwlb.rds.aliyuncs.com:3306/xp_robotaxi?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
  #    username: xp_robotaxi
  #    password: PrcZ3f_Hjp0uTcaX
xp-robotaxi-maintenance-boot/src/main/resources/bootstrap.yml
@@ -12,150 +12,8 @@
    allow-circular-references: true
  profiles:
    # 环境配置
    active: dev
#    active: prod
---
spring:
  config:
    activate:
      on-profile: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.110.80:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
        username: nacos
        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.110.80:8848
        namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
        group: DEFAULT_GROUP
        name: ${spring.application.name}
        username: nacos
        password: nacos
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
---
seata:
  enabled: true
  application-id: ${spring.application.name}
  tx-service-group: seata_tx_group    #此处配置自定义的seata事务分组名称
  enable-auto-data-source-proxy: false    #关闭数据库代理
  service:
    vgroup-mapping:
      seata_tx_group: default
  data-source-proxy-mode: AT
  config:
    type: nacos
    nacos:
      # 开发环境
      server-addr: 192.168.110.80:8848
      namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
      group: DEFAULT_GROUP
      data-id: seata-server.properties
      username: nacos
      password: nacos
      # 生产环境
  #      server-addr: 192.168.0.137:8848,192.168.0.123:8848
  #      namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
  #      group: DEFAULT_GROUP
  #      data-id: seata-server.properties
  #      username: nacos
  #      password: nacos
  registry:
    type: nacos
    nacos:
      application: seata-server
      # 开发环境
      server-addr: 192.168.110.80:8848
      namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
      group: DEFAULT_GROUP
      username: nacos
      password: nacos
      # 生产环境
  #      server-addr: 192.168.0.137:8848,192.168.0.123:8848
  #      namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
  #      group: DEFAULT_GROUP
  #      username: nacos
  #      password: nacos
  cloud:
    nacos:
      discovery:
        # 开发环境
        server-addr: 192.168.110.80:8848
        namespace: 5185ac4b-6369-48eb-a21b-a7cbc441c5f1
        group: DEFAULT_GROUP
        application: seata-server #Nacos 中 Seata 名称
        username: nacos
        password: nacos
        # 生产环境
    #        server-addr: 192.168.0.137:8848,192.168.0.123:8848
    #        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
    #        group: DEFAULT_GROUP
    #        application: seata-server #Nacos 中 Seata 名称
    #        username: nacos
    #        password: nacos
    sentinel:
      transport:
        dashboard: 192.168.0.137:8080  #  Sentinel控制台地址
      eager: true
---
spring:
  config:
    activate:
      on-profile: prod
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 192.168.0.137:8848,192.168.0.123:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
        username: nacos
        password: nacos
      config:
        # 配置中心地址
        server-addr: 192.168.0.137:8848,192.168.0.123:8848
        namespace: c6cf40b5-44e8-43f9-be61-8d10fa830e2a
        username: nacos
        password: nacos
        group: DEFAULT_GROUP
        name: ${spring.application.name}
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
---
spring:
  config:
    activate:
      on-profile: test
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        namespace: 96712c7a-480b-4f40-b783-39f00f3b33ce
        group: DEFAULT_GROUP
        name: ${spring.application.name}
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
    active: local
xp-robotaxi-maintenance-boot/src/main/resources/logback.xml.bak