build(ci): add stage deployment pipeline and configs
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
--- #################### 搴旂敤閰嶇疆 ####################
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: iot-gateway-server
|
||||
profiles:
|
||||
active: stage
|
||||
|
||||
# Redis 閰嶇疆
|
||||
data:
|
||||
redis:
|
||||
host: ${REDIS_HOST:172.17.16.7}
|
||||
port: ${REDIS_PORT:6379}
|
||||
database: ${REDIS_DATABASE:0}
|
||||
password: ${REDIS_PASSWORD:}
|
||||
timeout: ${REDIS_TIMEOUT:30000ms}
|
||||
|
||||
--- #################### 娑堟伅闃熷垪鐩稿叧 ####################
|
||||
|
||||
# rocketmq 閰嶇疆椤癸紝瀵瑰簲 RocketMQProperties 閰嶇疆绫?rocketmq:
|
||||
name-server: ${ROCKETMQ_NAMESRV_ADDR:124.222.218.198:9876}
|
||||
producer:
|
||||
group: ${spring.application.name}_PRODUCER
|
||||
access-key: ${ROCKETMQ_ACCESS_KEY:}
|
||||
secret-key: ${ROCKETMQ_SECRET_KEY:}
|
||||
consumer:
|
||||
access-key: ${ROCKETMQ_ACCESS_KEY:}
|
||||
secret-key: ${ROCKETMQ_SECRET_KEY:}
|
||||
|
||||
--- #################### IoT 缃戝叧鐩稿叧閰嶇疆 ####################
|
||||
|
||||
viewsh:
|
||||
iot:
|
||||
# 娑堟伅鎬荤嚎閰嶇疆
|
||||
message-bus:
|
||||
type: ${IOT_MESSAGE_BUS_TYPE:redis}
|
||||
|
||||
# 缃戝叧閰嶇疆
|
||||
gateway:
|
||||
# 璁惧 RPC 閰嶇疆
|
||||
rpc:
|
||||
url: ${VIEWSH_IOT_GATEWAY_RPC_URL:http://aiot-iot-server:48091}
|
||||
connect-timeout: ${VIEWSH_RPC_CONNECT_TIMEOUT:30s}
|
||||
read-timeout: ${VIEWSH_RPC_READ_TIMEOUT:30s}
|
||||
# 璁惧 Token 閰嶇疆
|
||||
token:
|
||||
secret: ${VIEWSH_IOT_TOKEN_SECRET:viewshIotGatewayTokenSecret123456789}
|
||||
expiration: ${VIEWSH_IOT_TOKEN_EXPIRATION:7d}
|
||||
|
||||
# 鍗忚閰嶇疆
|
||||
protocol:
|
||||
# ====================================
|
||||
# 閽堝寮曞叆鐨?HTTP 缁勪欢鐨勯厤缃? # ====================================
|
||||
http:
|
||||
enabled: ${IOT_HTTP_ENABLED:true}
|
||||
server-port: ${IOT_HTTP_PORT:8092}
|
||||
# ====================================
|
||||
# 閽堝寮曞叆鐨?EMQX 缁勪欢鐨勯厤缃? # ====================================
|
||||
emqx:
|
||||
enabled: ${IOT_EMQX_ENABLED:false}
|
||||
http-port: ${IOT_EMQX_HTTP_PORT:8090}
|
||||
mqtt-host: ${IOT_EMQX_MQTT_HOST:127.0.0.1}
|
||||
mqtt-port: ${IOT_EMQX_MQTT_PORT:1883}
|
||||
mqtt-username: ${IOT_EMQX_MQTT_USERNAME:admin}
|
||||
mqtt-password: ${IOT_EMQX_MQTT_PASSWORD:public}
|
||||
mqtt-client-id: ${IOT_EMQX_MQTT_CLIENT_ID:iot-gateway-mqtt}
|
||||
mqtt-ssl: ${IOT_EMQX_MQTT_SSL:false}
|
||||
mqtt-topics:
|
||||
- "/sys/#"
|
||||
clean-session: true
|
||||
keep-alive-interval-seconds: 60
|
||||
max-inflight-queue: 10000
|
||||
connect-timeout-seconds: 10
|
||||
# 鏄惁淇′换鎵€鏈?SSL 璇佷功 (榛樿: false)銆傝鍛婏細鐢熶骇鐜蹇呴』涓?false锛? # 浠呭湪寮€鍙戠幆澧冩垨鍐呯綉娴嬭瘯鏃讹紝濡傛灉浣跨敤浜嗚嚜绛惧悕璇佷功锛屽彲浠ヤ复鏃惰缃负 true
|
||||
trust-all: ${IOT_EMQX_TRUST_ALL:false}
|
||||
# 閬楀槺娑堟伅閰嶇疆 (鐢ㄤ簬缃戝叧寮傚父涓嬬嚎鏃堕€氱煡鍏朵粬绯荤粺)
|
||||
will:
|
||||
enabled: ${IOT_EMQX_WILL_ENABLED:true}
|
||||
topic: "gateway/status/${viewsh.iot.gateway.emqx.mqtt-client-id}"
|
||||
payload: "offline"
|
||||
qos: 1
|
||||
retain: true
|
||||
# 楂樼骇 SSL/TLS 閰嶇疆 (褰?trust-all: false 涓?mqtt-ssl: true 鏃剁敓鏁?
|
||||
ssl-options:
|
||||
key-store-path: ${IOT_EMQX_SSL_KEYSTORE_PATH:classpath:certs/client.jks}
|
||||
key-store-password: ${IOT_EMQX_SSL_KEYSTORE_PASSWORD:your-keystore-password}
|
||||
trust-store-path: ${IOT_EMQX_SSL_TRUSTSTORE_PATH:classpath:certs/trust.jks}
|
||||
trust-store-password: ${IOT_EMQX_SSL_TRUSTSTORE_PASSWORD:your-truststore-password}
|
||||
# ====================================
|
||||
# 閽堝寮曞叆鐨?TCP 缁勪欢鐨勯厤缃? # ====================================
|
||||
tcp:
|
||||
enabled: ${IOT_TCP_ENABLED:false}
|
||||
port: ${IOT_TCP_PORT:8091}
|
||||
keep-alive-timeout-ms: ${IOT_TCP_KEEPALIVE_TIMEOUT:30000}
|
||||
max-connections: ${IOT_TCP_MAX_CONNECTIONS:1000}
|
||||
ssl-enabled: ${IOT_TCP_SSL_ENABLED:false}
|
||||
ssl-cert-path: ${IOT_TCP_SSL_CERT_PATH:classpath:certs/client.jks}
|
||||
ssl-key-path: ${IOT_TCP_SSL_KEY_PATH:classpath:certs/client.jks}
|
||||
# ====================================
|
||||
# 閽堝寮曞叆鐨?MQTT 缁勪欢鐨勯厤缃? # ====================================
|
||||
mqtt:
|
||||
enabled: ${IOT_MQTT_ENABLED:true}
|
||||
port: ${IOT_MQTT_PORT:1883}
|
||||
max-message-size: ${IOT_MQTT_MAX_MESSAGE_SIZE:8192}
|
||||
connect-timeout-seconds: ${IOT_MQTT_CONNECT_TIMEOUT:60}
|
||||
ssl-enabled: ${IOT_MQTT_SSL_ENABLED:false}
|
||||
|
||||
--- #################### 鏃ュ織鐩稿叧閰嶇疆 ####################
|
||||
|
||||
# 鍩虹鏃ュ織閰嶇疆
|
||||
logging:
|
||||
file:
|
||||
name: ${LOG_FILE_PATH:/app/logs}/${spring.application.name}.log
|
||||
level:
|
||||
# 搴旂敤鍩虹鏃ュ織绾у埆
|
||||
com.viewsh.module.iot.gateway: ${LOG_LEVEL_IOT_GATEWAY:INFO}
|
||||
org.springframework.boot: INFO
|
||||
# RocketMQ 鏃ュ織
|
||||
org.apache.rocketmq: WARN
|
||||
# MQTT 瀹㈡埛绔棩蹇? # io.vertx.mqtt: DEBUG
|
||||
# 鐢熶骇鐜鏃ュ織
|
||||
com.viewsh.module.iot.gateway.protocol.emqx: ${LOG_LEVEL_EMQX:INFO}
|
||||
com.viewsh.module.iot.gateway.protocol.http: ${LOG_LEVEL_HTTP:INFO}
|
||||
com.viewsh.module.iot.gateway.protocol.mqtt: ${LOG_LEVEL_MQTT:INFO}
|
||||
# 鏍规棩蹇楃骇鍒? root: INFO
|
||||
|
||||
debug: false
|
||||
|
||||
@@ -0,0 +1,167 @@
|
||||
--- #################### 娉ㄥ唽涓績 + 閰嶇疆涓績鐩稿叧閰嶇疆 ####################
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
server-addr: ${NACOS_ADDR:172.17.16.7:8848}
|
||||
username: ${NACOS_USERNAME:nacos}
|
||||
password: ${NACOS_PASSWORD:nacos}
|
||||
discovery:
|
||||
namespace: ${NACOS_DISCOVERY_NAMESPACE:stage}
|
||||
group: DEFAULT_GROUP
|
||||
metadata:
|
||||
version: 1.0.0
|
||||
config:
|
||||
namespace: ${NACOS_CONFIG_NAMESPACE:stage}
|
||||
group: DEFAULT_GROUP
|
||||
file-extension: yaml
|
||||
refresh-enabled: true
|
||||
|
||||
--- #################### 鏁版嵁搴撶浉鍏抽厤缃?####################
|
||||
spring:
|
||||
datasource:
|
||||
druid:
|
||||
web-stat-filter:
|
||||
enabled: true
|
||||
stat-view-servlet:
|
||||
enabled: true
|
||||
url-pattern: /druid/*
|
||||
login-username: ${DRUID_USERNAME:admin}
|
||||
login-password: ${DRUID_PASSWORD:admin}
|
||||
filter:
|
||||
stat:
|
||||
enabled: true
|
||||
log-slow-sql: true
|
||||
slow-sql-millis: 100
|
||||
merge-sql: true
|
||||
wall:
|
||||
config:
|
||||
multi-statement-allow: true
|
||||
dynamic:
|
||||
druid:
|
||||
initial-size: 5
|
||||
min-idle: 10
|
||||
max-active: 20
|
||||
max-wait: 60000
|
||||
time-between-eviction-runs-millis: 60000
|
||||
min-evictable-idle-time-millis: 600000
|
||||
max-evictable-idle-time-millis: 1800000
|
||||
validation-query: SELECT 1 FROM DUAL
|
||||
test-while-idle: true
|
||||
test-on-borrow: false
|
||||
test-on-return: false
|
||||
pool-prepared-statements: true
|
||||
max-pool-prepared-statement-per-connection-size: 20
|
||||
primary: master
|
||||
datasource:
|
||||
master:
|
||||
url: jdbc:mysql://${MYSQL_HOST:172.17.16.8}:${MYSQL_PORT:3306}/${MYSQL_DATABASE:aiot-platform-test}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
|
||||
username: ${MYSQL_USER:root}
|
||||
password: ${MYSQL_PASSWORD:}
|
||||
slave:
|
||||
lazy: true
|
||||
url: jdbc:mysql://${MYSQL_SLAVE_HOST:${MYSQL_HOST:172.17.16.8}}:${MYSQL_SLAVE_PORT:${MYSQL_PORT:3306}}/${MYSQL_DATABASE:aiot-platform-test}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
|
||||
username: ${MYSQL_SLAVE_USER:${MYSQL_USER:root}}
|
||||
password: ${MYSQL_SLAVE_PASSWORD:${MYSQL_PASSWORD:}}
|
||||
tdengine:
|
||||
url: jdbc:TAOS-RS://${TDENGINE_HOST:172.17.16.7}:${TDENGINE_PORT:6041}/aiot_platform
|
||||
driver-class-name: com.taosdata.jdbc.rs.RestfulDriver
|
||||
username: ${TDENGINE_USERNAME:root}
|
||||
password: ${TDENGINE_PASSWORD:taosdata}
|
||||
druid:
|
||||
validation-query: SELECT SERVER_STATUS()
|
||||
|
||||
data:
|
||||
redis:
|
||||
host: ${REDIS_HOST:172.17.16.7}
|
||||
port: ${REDIS_PORT:6379}
|
||||
database: ${REDIS_DATABASE:0}
|
||||
password: ${REDIS_PASSWORD:}
|
||||
timeout: 5000ms
|
||||
lettuce:
|
||||
pool:
|
||||
max-active: 8
|
||||
max-wait: -1ms
|
||||
max-idle: 8
|
||||
min-idle: 0
|
||||
|
||||
--- #################### MQ 娑堟伅闃熷垪鐩稿叧閰嶇疆 ####################
|
||||
|
||||
rocketmq:
|
||||
name-server: ${ROCKETMQ_NAMESRV_ADDR:124.222.218.198:9876}
|
||||
producer:
|
||||
group: ${spring.application.name}_PRODUCER
|
||||
access-key: ${ROCKETMQ_ACCESS_KEY:}
|
||||
secret-key: ${ROCKETMQ_SECRET_KEY:}
|
||||
consumer:
|
||||
access-key: ${ROCKETMQ_ACCESS_KEY:}
|
||||
secret-key: ${ROCKETMQ_SECRET_KEY:}
|
||||
|
||||
spring:
|
||||
# 绂佺敤 RabbitMQ 鑷姩閰嶇疆锛堝鏋滀笉闇€瑕?RabbitMQ锛岄伩鍏嶅惎鍔ㄦ椂杩炴帴澶辫触锛?
|
||||
autoconfigure:
|
||||
exclude:
|
||||
- org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration
|
||||
# RabbitMQ 閰嶇疆锛堝凡绂佺敤鑷姩閰嶇疆锛屼粎淇濈暀閰嶇疆椤逛緵涓氬姟浠g爜浣跨敤锛?
|
||||
# rabbitmq:
|
||||
# host: ${RABBITMQ_HOST:127.0.0.1}
|
||||
# port: ${RABBITMQ_PORT:5672}
|
||||
# username: ${RABBITMQ_USERNAME:guest}
|
||||
# password: ${RABBITMQ_PASSWORD:guest}
|
||||
kafka:
|
||||
bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVERS:127.0.0.1:9092}
|
||||
|
||||
--- #################### 瀹氭椂浠诲姟鐩稿叧閰嶇疆 ####################
|
||||
xxl:
|
||||
job:
|
||||
enabled: false
|
||||
admin:
|
||||
addresses: ${XXL_JOB_ADMIN_ADDRESSES:http://172.17.16.7:19090/xxl-job-admin}
|
||||
executor:
|
||||
ip: ${XXL_JOB_EXECUTOR_IP:}
|
||||
port: ${XXL_JOB_EXECUTOR_PORT:9999}
|
||||
|
||||
--- #################### 鏈嶅姟淇濋殰鐩稿叧閰嶇疆 ####################
|
||||
|
||||
lock4j:
|
||||
acquire-timeout: 3000
|
||||
expire: 30000
|
||||
|
||||
--- #################### 鐩戞帶鐩稿叧閰嶇疆 ####################
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
base-path: /actuator
|
||||
exposure:
|
||||
include: '*'
|
||||
|
||||
spring:
|
||||
boot:
|
||||
admin:
|
||||
client:
|
||||
instance:
|
||||
service-host-type: IP
|
||||
username: ${SPRING_BOOT_ADMIN_USERNAME:admin}
|
||||
password: ${SPRING_BOOT_ADMIN_PASSWORD:admin}
|
||||
|
||||
logging:
|
||||
level:
|
||||
root: INFO
|
||||
com.viewsh: ${LOG_LEVEL:INFO}
|
||||
com.viewsh.module.iot.dal.mysql: debug
|
||||
com.viewsh.module.iot.dal.mysql.sms.SmsChannelMapper: INFO
|
||||
org.springframework.context.support.PostProcessorRegistrationDelegate: ERROR
|
||||
file:
|
||||
name: ${LOG_FILE_PATH:/app/logs}/${spring.application.name}.log
|
||||
|
||||
--- #################### 鑺嬮亾鐩稿叧閰嶇疆 ####################
|
||||
|
||||
viewsh:
|
||||
demo: false
|
||||
env:
|
||||
tag: ${HOSTNAME:stage}
|
||||
captcha:
|
||||
enable: true
|
||||
security:
|
||||
mock-enable: false
|
||||
Reference in New Issue
Block a user