diff --git a/README.adoc b/README.adoc index 301a3bed6..61688a793 100644 --- a/README.adoc +++ b/README.adoc @@ -1,8 +1,6 @@ [NOTE] ==== -本分支构建 ``Dew`` 3.x 版本,此版本移除了 `Spring Cloud`,服务调度完全基于 `Istio` 以进一步简化服务开发。 - -最新稳定版是 `2.1.0-rc` 请切换到 https://github.com/gudaoxuri/dew/tree/2.1.0-rc[2.1.0-RC] tag. +本分支构建 ``Dew`` 3.x 版本,此版本移除了 `Spring Cloud`,服务调度完全基于 `k8s` 以进一步简化服务开发。 如需基于 ``Spring boot 1.x`` 的非容器版本请切换到 https://github.com/gudaoxuri/dew/tree/1.5.1-RC[1.5.1-RC] tag. @@ -16,7 +14,7 @@ image::https://api.codacy.com/project/badge/Grade/aacfdad1579043f0a2c1928b53096b image::https://img.shields.io/badge/license-ASF2-blue.svg["Apache License 2",link="https://www.apache.org/licenses/LICENSE-2.0.txt"] image::https://img.shields.io/maven-central/v/group.idealworld.dew/parent-starter[Maven Central] -微服务一站式解决方案( http://doc.dew.idealworld.group ),提供:架构指南、容器优先/兼容Spring与Service Mesh的框架、最佳实践及DevOps标准化流程。 +微服务一站式解决方案( http://doc.dew.idealworld.group ),提供:架构指南、容器优先/兼容Spring与Service Mesh的框架、最佳实践。 [quote,] ____ @@ -51,7 +49,7 @@ ____ 上述问题是Dew必须面对的,应对的设计核心理念是: ---- -提供微服务架构指南 + 扩展主流微服务框架 + 标准化DevOps流程 +提供微服务架构指南 + 扩展主流微服务框架 ---- .**提供微服务架构指南** @@ -68,40 +66,6 @@ ____ 实现上我们选择 `Spring Boot` 这一业界主流框架,对上兼容 `Spring Boot` 与 `Service Mesh`。 -.**标准化DevOps流程** - -目前市场有两种主流的DevOps做法: - -* 以 ``Jenkins X`` 、 ``Gitlab CI`` 为代表的CI/CD工具主导的DevOps流程 - -> **集成度低、操作不友好** -> -> DevOps是一个系统性工程,想通过传统的CI/CD工具的方法实现难度较大 - -* 以 http://https://develop.aliyun.com/devops[阿里云] 、 https://azure.microsoft.com/zh-cn/solutions/devops/[Azure] -为代表的云厂商DevOps方案 - -> **平台依赖,不通用** -> -> 云厂商方案做了高度集成,弥补了工具型方案的不足,但问题也很明显,各厂商都有自己的一套标准,互不兼容,导致平台绑定,无法迁移 - -``Dew`` 在DevOps上另辟蹊径,以Maven为核心构建,其优点在于: - -. Maven是行业标准,并且兼容除JVM外的其它语言环境,可支撑所有主流项目 -. 可在本地执行完成DevOps开发流程,也可与CI/CD工具整合提供测试/生产等环境的DevOps -. 对CI/CD工具的依赖度低、开源、标准化,无厂商绑定 - -基于这一理念,我们提供的一体化的Maven插件,实现了: - -. CI/CD流程支持,自动化依赖管理、测试、质检、打包与发布、回滚、远程Debug等 -. 全面容器化,所有环境均为容器方案 -. 支持与 ``Gitlab CI`` 或其它 CI/CD服务整合 -. 实现针对JVM服务、类库、前端等主流项目的支撑 - -==== -一言蔽之, ``Dew`` 致力于成为微服务一站式解决方案。 -==== - === 项目结构 ---- @@ -115,14 +79,17 @@ ____ |- |- |- cluster-rabbit // RabbitMQ集群能力实现 |- |- |- cluster-redis // Redis集群能力实现 |- |- |- cluster-mqtt // MQTT集群能力实现 +|- |- |- cluster-rocket // Rocket MQ集群能力实现 +|- |- |- cluster-skywalking // Skywalking集群能力实现 |- |- |- idempotent-starter // 幂等处理模块 -|- |- |- notification // 通知处理模块 -|- |- |- test-starter // 单元测试模块 +|- |- |- dbutils-starter // 动态数据库处理模块 +|- |- |- ossutils-starter // OSS处理模块 |- |- |- hbase-starter // Spring Boot HBase Starter 模块 +|- |- |- test-starter // 单元测试模块 |- |- assists // 框架辅助工具 |- |- |- sdkgen-maven-plugin // SDK自动生成、上传插件 |- |- checkstyle // 项目CheckStyle -|- devops // DevOps部分 +|- devops // DevOps部分 【!新版本暂不可用!】 |- |- maven // DevOps使用到的Maven插件 |- |- |- dew-maven-plugin // DevOps核心插件 |- |- |- dew-maven-agent // DevOps部署优化插件 diff --git a/ROADMAP.adoc b/ROADMAP.adoc deleted file mode 100644 index f47423f96..000000000 --- a/ROADMAP.adoc +++ /dev/null @@ -1,35 +0,0 @@ -=== 路线图 - -* 3.0.0 - -. 支持GraalVM -. 支持Service Mesh -. 支持K3s -. 支持Swagger转SDK -. 去除Spring Cloud依赖 - -* 2.1.0 - -. 支持Java 11 - -* 2.0.0 - -. 升级到Spring Boot 2.x -. 实现兼容Spring Cloud与Istio的部署、监控架构 -. 引入DevOps流程 - -* 1.5.0 - -. 迁移小泰科技Fork版本到开源版本 -. Review及优化代码去除不常用功能 - -* 1.x - -. 实现核心功能,为公司各项目的研发提供能力支撑 - - - - - - - diff --git a/deploy.sh b/deploy.sh index 7d06af088..071612aa1 100644 --- a/deploy.sh +++ b/deploy.sh @@ -1,18 +1,4 @@ #!/bin/bash -# -# Copyright 2022. the original author or authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# + mvn -Ddew.it.skip=true clean deploy -P release diff --git a/devops/cicd/gitlabci/.gitlab-ci-template.yml b/devops/cicd/gitlabci/.gitlab-ci-template.yml index c6f658a55..1e23d5fa7 100644 --- a/devops/cicd/gitlabci/.gitlab-ci-template.yml +++ b/devops/cicd/gitlabci/.gitlab-ci-template.yml @@ -1,20 +1,3 @@ -# -# Copyright 2019. the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# ====================================================== - # 此为 Gitlab CI的模板文件 # 各配置说明见 https://docs.gitlab.com/ee/ci/yaml/ diff --git a/devops/cicd/jenkins/scripts/dew-devops.groovy b/devops/cicd/jenkins/scripts/dew-devops.groovy index 535a727e6..be4e56c6b 100644 --- a/devops/cicd/jenkins/scripts/dew-devops.groovy +++ b/devops/cicd/jenkins/scripts/dew-devops.groovy @@ -301,21 +301,7 @@ pipeline { } } -/* - * Copyright 2022. gudaoxuri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + /* 参数化构建参数: diff --git a/devops/cicd/jenkins/scripts/dew-maven-agent-update.groovy b/devops/cicd/jenkins/scripts/dew-maven-agent-update.groovy index e112d1a77..8f65e2d3a 100644 --- a/devops/cicd/jenkins/scripts/dew-maven-agent-update.groovy +++ b/devops/cicd/jenkins/scripts/dew-maven-agent-update.groovy @@ -1,19 +1,3 @@ -/* - * Copyright 2022. gudaoxuri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - /* * 需要以下参数化构建参数 * jenkins_agents 需要更新的Jenkins节点,多个以,逗号分隔,如不填写,默认为master diff --git a/devops/devops-test-example.properties b/devops/devops-test-example.properties index e1d97e7dd..09ffcdb56 100644 --- a/devops/devops-test-example.properties +++ b/devops/devops-test-example.properties @@ -1,18 +1,3 @@ -# -# Copyright 2022. the original author or authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# dew_devops_docker_host=tcp://10.200.131.215:2375 # Docker registry url, nullable dew_devops_docker_registry_url=https://harbor.dew.idealworld.group/v2 diff --git a/devops/devops-test.properties b/devops/devops-test.properties index 730280b96..0e1d0757c 100644 --- a/devops/devops-test.properties +++ b/devops/devops-test.properties @@ -1,18 +1,3 @@ -# -# Copyright 2022. the original author or authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# dew_devops_docker_host=tcp://dockerd.dew.test:2375 # Docker registry url, nullable dew_devops_docker_registry_url=https://harbor.dew.test/v2 diff --git a/devops/it/pom.xml b/devops/it/pom.xml index 8a28fd769..0c21dab50 100644 --- a/devops/it/pom.xml +++ b/devops/it/pom.xml @@ -1,23 +1,7 @@ - - + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 group.idealworld.dew @@ -197,7 +181,8 @@ ${dew_devops_it_snapshotRepository_id} - ${dew_devops_it_snapshotRepository_url} + + ${dew_devops_it_snapshotRepository_url} @@ -214,4 +199,4 @@ - + \ No newline at end of file diff --git a/devops/it/src/it/helloworld-backend/invoker.properties b/devops/it/src/it/helloworld-backend/invoker.properties index 9dffad286..1a6d7f0a4 100644 --- a/devops/it/src/it/helloworld-backend/invoker.properties +++ b/devops/it/src/it/helloworld-backend/invoker.properties @@ -1,18 +1,3 @@ -# -# Copyright 2022. the original author or authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# invoker.goals.1=-P devops deploy -Ddew_devops_profile=test invoker.mavenOpts=-Djdk.tls.client.protocols=TLSv1.2 -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true invoker.debug=false diff --git a/devops/it/src/it/helloworld-backend/pom.xml b/devops/it/src/it/helloworld-backend/pom.xml index 9895fd2f2..c1e0fadf2 100644 --- a/devops/it/src/it/helloworld-backend/pom.xml +++ b/devops/it/src/it/helloworld-backend/pom.xml @@ -1,23 +1,7 @@ - - + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 @@ -66,4 +50,4 @@ - + \ No newline at end of file diff --git a/devops/it/src/it/helloworld-backend/src/main/java/group/idealworld/dew/devops/it/Application.java b/devops/it/src/it/helloworld-backend/src/main/java/group/idealworld/dew/devops/it/Application.java index d904c2cd9..87255c576 100644 --- a/devops/it/src/it/helloworld-backend/src/main/java/group/idealworld/dew/devops/it/Application.java +++ b/devops/it/src/it/helloworld-backend/src/main/java/group/idealworld/dew/devops/it/Application.java @@ -1,19 +1,3 @@ -/* - * Copyright 2020. the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - package group.idealworld.dew.devops.it; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/devops/it/src/it/helloworld-backend/src/main/java/group/idealworld/dew/devops/it/Controller.java b/devops/it/src/it/helloworld-backend/src/main/java/group/idealworld/dew/devops/it/Controller.java index bf91e6b6c..ecabe8d7e 100644 --- a/devops/it/src/it/helloworld-backend/src/main/java/group/idealworld/dew/devops/it/Controller.java +++ b/devops/it/src/it/helloworld-backend/src/main/java/group/idealworld/dew/devops/it/Controller.java @@ -1,19 +1,3 @@ -/* - * Copyright 2020. the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - package group.idealworld.dew.devops.it; import org.springframework.web.bind.annotation.GetMapping; diff --git a/devops/it/src/it/helloworld-backend/verify.groovy b/devops/it/src/it/helloworld-backend/verify.groovy index 84aa8aadd..528d906a2 100644 --- a/devops/it/src/it/helloworld-backend/verify.groovy +++ b/devops/it/src/it/helloworld-backend/verify.groovy @@ -1,19 +1,3 @@ -/* - * Copyright 2022. gudaoxuri - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - import group.idealworld.dew.devops.it.verify.HelloWorldBackendVerify new HelloWorldBackendVerify().verify(basedir) diff --git a/devops/it/src/it/helloworld-frontend/babel.config.js b/devops/it/src/it/helloworld-frontend/babel.config.js index 78b93acad..ba179669a 100644 --- a/devops/it/src/it/helloworld-frontend/babel.config.js +++ b/devops/it/src/it/helloworld-frontend/babel.config.js @@ -1,19 +1,3 @@ -/* - * Copyright 2022. the original author or authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - module.exports = { presets: [ '@vue/app' diff --git a/devops/it/src/it/helloworld-frontend/invoker.properties b/devops/it/src/it/helloworld-frontend/invoker.properties index 9dffad286..1a6d7f0a4 100644 --- a/devops/it/src/it/helloworld-frontend/invoker.properties +++ b/devops/it/src/it/helloworld-frontend/invoker.properties @@ -1,18 +1,3 @@ -# -# Copyright 2022. the original author or authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# invoker.goals.1=-P devops deploy -Ddew_devops_profile=test invoker.mavenOpts=-Djdk.tls.client.protocols=TLSv1.2 -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true invoker.debug=false diff --git a/devops/it/src/it/helloworld-frontend/pom.xml b/devops/it/src/it/helloworld-frontend/pom.xml index 916546be1..6a251c9e2 100644 --- a/devops/it/src/it/helloworld-frontend/pom.xml +++ b/devops/it/src/it/helloworld-frontend/pom.xml @@ -1,23 +1,7 @@ - - + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 @@ -63,4 +47,4 @@ - + \ No newline at end of file diff --git a/devops/it/src/it/helloworld-frontend/public/index.html b/devops/it/src/it/helloworld-frontend/public/index.html index 3ccded232..d32fcb523 100644 --- a/devops/it/src/it/helloworld-frontend/public/index.html +++ b/devops/it/src/it/helloworld-frontend/public/index.html @@ -1,34 +1,21 @@ - - + - - - - - hello-world + + + + + hello-world + - +
+ - + + \ No newline at end of file diff --git a/devops/it/src/it/helloworld-frontend/src/App.vue b/devops/it/src/it/helloworld-frontend/src/App.vue index ca4046ee4..fcc566279 100644 --- a/devops/it/src/it/helloworld-frontend/src/App.vue +++ b/devops/it/src/it/helloworld-frontend/src/App.vue @@ -1,19 +1,3 @@ - -