1.在nacos中添加配置文件

 

2.引入nacos maven

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

3.k8s&Docker配置

${工程根目录}\src\main\docker\application\Dockerfile

FROM java:8
VOLUME /tmp
ADD *.jar app.jar
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone
ADD ./run.sh /tmp
RUN chmod a+x /tmp/run.sh
# JVM虚拟机参数
ENV JAVA_OPTS=""
# 分布式配置中心分组名称
ENV ACM_GROUP=""
# 分布式配置中心端点名称
ENV ACM_END_POINT=""
# 分布式配置中心文件类型
ENV ACM_FILE_EXTENSION="yaml"
# 分布式配置中心RAM角色名称
ENV ACM_RAM_ROLE_NAME=""
# 分布式配置中心命名空间
ENV ACM_NAMESPACE=""
# 应用端口
ENV SERVER_PORT="8596"
# 配置spring.profiles.active
ENV SPRING_PROFILES_ACTIVE=""
ENTRYPOINT [ "sh", "-c", "/tmp/run.sh" ]

 ${工程根目录}\src\main\docker\application\run.sh

#!/usr/bin/env bash
java $JAVA_OPTS -jar -Djava.security.egd=file:/dev/./urandom /app.jar \
    --group=$ACM_GROUP \
    --endpoint=$ACM_END_POINT \
    --fileExtension=$ACM_FILE_EXTENSION \
    --namespace=$ACM_NAMESPACE \
    --ramRoleName=$ACM_RAM_ROLE_NAME \
    --server.port=$SERVER_PORT \
    --spring.profiles.active=$SPRING_PROFILES_ACTIVE

${工程根目录}\devops-config.yml

# ****************项目工程配置*********************
#      工程名称
projectName: xxx-server
# jar版本
jarVersion: 1.0.0
# 业务版本号 
businessVersion: v1.0.0

# ****************docker镜像相关配置*********************
# 镜像仓库命名空间
dockerImageRepoNameSpace: xxx
# Jfrog仓库名称
jfogServiceName: xxx

#******************容器编排设置*****************************
k8s:
  label:
    key: node
    value: poly
  env:
    dev:
      # 命名空间
      nameSpace: mg-tp-test
      # 应用容器端口
      appContainerPort: 8596
      # 创建实例数量
      instanceNum: 1
      # JAVA_OPTS
      javaOpts: ''
      # 环境分支
      springProfilesActive: dev
      # 分布式配置中心
      acm:
        group: xxx-group
        endpoint: xxx.aliyuncs.com
        fileExtension: yaml
        namespace: xxx
        ramRoleName: xxx

4.项目配置文件

${工程根目录}\src\main\resources\bootstrap.yml

server:
  servlet:
    context-path: /xxx
  port: 8596

spring:
  application:
    name: xxx-server
    group: xxx
  cloud:
    nacos:
      config:
        enabled: true
        server-addr: ${endpoint:}
        file-extension: ${fileExtension:}
        refresh-enabled: true
        group: ${group:}
        namespace: ${namespace:}
        shared-dataids: ${sharedDataids:}
      username: ${username:}
      password: ${password:}

5.Jenkins配置

docker pull 192.168.1.101:5000/xxx-server:${Tag}
docker rm -f xxx-server
docker run -d \
--restart=always \
--log-driver json-file \
--log-opt max-size=10m \
--log-opt max-file=3 \
--name xxx-server \
-p 8596:8596 \
-e SPRING_PROFILES_ACTIVE=dev \
-e endpoint='192.168.1.101:8848' \
-e fileExtension=yaml \
-e group='xxx' \
-e namespace=xxx \
-e username=nacos \
-e password=nacos  \
192.168.1.101:5000/xxx-server:${Tag}

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐