diff --git a/mse-simple-demo/A/Dockerfile b/mse-simple-demo/A/Dockerfile index 25cb29d6..bd2ca945 100644 --- a/mse-simple-demo/A/Dockerfile +++ b/mse-simple-demo/A/Dockerfile @@ -32,7 +32,7 @@ WORKDIR /app COPY ./ ./ RUN --mount=type=cache,target=/root/.m2/repository/ \ - mvn clean package + mvn clean package --batch-mode EXPOSE 20001 ENTRYPOINT ["sh", "-c"] diff --git a/mse-simple-demo/B/Dockerfile b/mse-simple-demo/B/Dockerfile index 2c4c049a..da52e1d4 100644 --- a/mse-simple-demo/B/Dockerfile +++ b/mse-simple-demo/B/Dockerfile @@ -1,4 +1,6 @@ -FROM eclipse-temurin:8-jdk-alpine +# syntax=docker/dockerfile:1.3-labs + +FROM maven:3-eclipse-temurin-8-alpine # copy arthas COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas @@ -6,9 +8,32 @@ COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories RUN apk add wget unzip tcpdump ngrep iproute2-ss bind-tools +COPY < + + + + alimaven + aliyun maven + http://maven.aliyun.com/nexus/content/groups/public/ + central + + + maven-default-http-blocker + !* + http://0.0.0.0/ + + + +EOF + WORKDIR /app -COPY /target/B-1.0.0.jar /app + +COPY ./ ./ + +RUN --mount=type=cache,target=/root/.m2/repository/ \ + mvn clean package --batch-mode EXPOSE 20002 ENTRYPOINT ["sh", "-c"] -CMD ["java -jar /app/B-1.0.0.jar"] \ No newline at end of file +CMD ["java -jar /app/target/B-1.0.0.jar"] diff --git a/mse-simple-demo/C/Dockerfile b/mse-simple-demo/C/Dockerfile index 7e3598d4..b4905623 100644 --- a/mse-simple-demo/C/Dockerfile +++ b/mse-simple-demo/C/Dockerfile @@ -1,11 +1,42 @@ -FROM dragonwell-registry.cn-hangzhou.cr.aliyuncs.com/dragonwell/dragonwell:8-extended-ga-centos +# syntax=docker/dockerfile:1.3-labs + +FROM maven:3-eclipse-temurin-8-alpine as build # copy arthas COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas +RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories + +COPY < + + + + alimaven + aliyun maven + http://maven.aliyun.com/nexus/content/groups/public/ + central + + + maven-default-http-blocker + !* + http://0.0.0.0/ + + + +EOF + WORKDIR /app -COPY /target/C-1.0.0.jar /app + +COPY ./ ./ + +RUN --mount=type=cache,target=/root/.m2/repository/ \ + mvn clean package --batch-mode + +FROM dragonwell-registry.cn-hangzhou.cr.aliyuncs.com/dragonwell/dragonwell:8-extended-ga-centos + +COPY --from=build /app/target/C-1.0.0.jar /app/target/C-1.0.0.jar EXPOSE 20003 ENTRYPOINT ["sh", "-c"] -CMD ["java -jar /app/C-1.0.0.jar"] \ No newline at end of file +CMD ["java -jar /app/target/C-1.0.0.jar"] diff --git a/mse-simple-demo/README.ZH.md b/mse-simple-demo/README.ZH.md new file mode 100644 index 00000000..805bae57 --- /dev/null +++ b/mse-simple-demo/README.ZH.md @@ -0,0 +1,22 @@ +# mse-simple-demo + +mse-simple-demo是一个简单的微服务demo,架构如下: + +![demo架构](./image/arch.png) + +# 如何部署 + +```sh +helm3 upgrade mse-simple-demo1 \ + helm/mse-simple-demo \ + --install \ + --set registry=registry.cn-shanghai.aliyuncs.com/yizhan/ \ + --set mse.namePrefix=mse-test- \ + --set nacos.host=mse-xxxxx-p.nacos-ans.mse.aliyuncs.com \ + --set nacos.namespace=public +``` + +* `registry`: 容器镜像地址前缀 +* `mse.namePrefix`: 接入mse的应用名前缀,可以用来区分环境 +* `nacos.host`: 应用要注册到的nacos地址 +* `nacos.namespace`: nacos命名空间 diff --git a/mse-simple-demo/helm/mse-simple-demo/templates/gateway-deployment.yaml b/mse-simple-demo/helm/mse-simple-demo/templates/gateway-deployment.yaml index cf65b75a..6b80186c 100644 --- a/mse-simple-demo/helm/mse-simple-demo/templates/gateway-deployment.yaml +++ b/mse-simple-demo/helm/mse-simple-demo/templates/gateway-deployment.yaml @@ -10,11 +10,9 @@ spec: app: spring-cloud-zuul template: metadata: - annotations: - msePilotCreateAppName: spring-cloud-zuul labels: msePilotAutoEnable: "on" - appName: "{{ .Release.Namespace }}-spring-cloud-zuul" + appName: "{{ .Values.mse.namePrefix }}spring-cloud-zuul" app: spring-cloud-zuul spec: containers: diff --git a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-deployment.yaml b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-deployment.yaml index 0d714414..7186d30c 100644 --- a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-deployment.yaml +++ b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-deployment.yaml @@ -12,7 +12,7 @@ spec: metadata: labels: msePilotAutoEnable: "on" - appName: "{{ .Release.Namespace }}-spring-cloud-a" + appName: "{{ .Values.mse.namePrefix }}spring-cloud-a" app: "spring-cloud-a" spec: containers: diff --git a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-gray-deployment.yaml b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-gray-deployment.yaml index 84dc871a..c8e5923f 100644 --- a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-gray-deployment.yaml +++ b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-gray-deployment.yaml @@ -14,7 +14,7 @@ spec: alicloud.service.tag: gray labels: msePilotAutoEnable: "on" - appName: "{{ .Release.Namespace }}-spring-cloud-a" + appName: "{{ .Values.mse.namePrefix }}spring-cloud-a" app: "spring-cloud-a-gray" spec: containers: diff --git a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-b-deployment.yaml b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-b-deployment.yaml index 444b2062..0220fd73 100644 --- a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-b-deployment.yaml +++ b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-b-deployment.yaml @@ -12,7 +12,7 @@ spec: metadata: labels: msePilotAutoEnable: "on" - appName: "{{ .Release.Namespace }}-spring-cloud-b" + appName: "{{ .Values.mse.namePrefix }}spring-cloud-b" app: "spring-cloud-b" spec: containers: diff --git a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-c-deployment.yaml b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-c-deployment.yaml index 529f9676..f8f6e131 100644 --- a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-c-deployment.yaml +++ b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-c-deployment.yaml @@ -12,7 +12,7 @@ spec: metadata: labels: msePilotAutoEnable: "on" - appName: "{{ .Release.Namespace }}-spring-cloud-c" + appName: "{{ .Values.mse.namePrefix }}spring-cloud-c" app: "spring-cloud-c" spec: containers: diff --git a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-c-gray-deployment.yaml b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-c-gray-deployment.yaml index 4d1246eb..3efa4b2f 100644 --- a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-c-gray-deployment.yaml +++ b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-c-gray-deployment.yaml @@ -13,7 +13,7 @@ spec: labels: alicloud.service.tag: gray msePilotAutoEnable: "on" - appName: "{{ .Release.Namespace }}-spring-cloud-c" + appName: "{{ .Values.mse.namePrefix }}spring-cloud-c" app: "spring-cloud-c-gray" spec: containers: diff --git a/mse-simple-demo/helm/mse-simple-demo/values.yaml b/mse-simple-demo/helm/mse-simple-demo/values.yaml index 4927c607..95cdc642 100644 --- a/mse-simple-demo/helm/mse-simple-demo/values.yaml +++ b/mse-simple-demo/helm/mse-simple-demo/values.yaml @@ -1,6 +1,9 @@ # 镜像地址的前缀 registry: registry.cn-shanghai.aliyuncs.com/yizhan/ +mse: + namePrefix: luyanbo + nacos: # Nacos地址 host: mse-xxxxx-p.nacos-ans.mse.aliyuncs.com diff --git a/mse-simple-demo/image/arch.png b/mse-simple-demo/image/arch.png new file mode 100644 index 00000000..f61080d2 Binary files /dev/null and b/mse-simple-demo/image/arch.png differ