# 概览
# 项目地址
# 目录结构
soeasycenter-alioss: 阿里oss
soeasycenter-api: 微服务通用工具类及dto存放包,全部微服务都引用
soeasycenter-college: 高校端,不引用微服务公共包
soeasycenter-common: 公共包
soeasycenter-config-server: 配置中心
soeasycenter-eureka: eureka微服务注册中心
soeasycenter-forum: 论坛
soeasycenter-gateway: 网关
soeasycenter-job: 任务调度
soeasycenter-login:登录
soeasycenter-mall: 商城
soeasycenter-manager: 管理端
soeasycenter-microservice:中心端微服务
soeasycenter-mq: 消息队列
soeasycenter-ms-buyingcenter:
soeasycenter-portal: 门户
soeasycenter-register: 注册中心
soeasycenter-repo: 中心端数据库通用包,与datasorce.yml对应
soeasycenter-rest-api: 所有微服务的前端统一调用接口(消费者)
soeasycenter-search: 全文检索
soeasycenter-sms: 短信服务
soeasycenter-supplier-bid: 企业竞价中心
soeasycenter-supplier-buy: 企业申购端
soeasycenter-supplier-mall: 企业商城管理
soeasycenter-tianyancha: 天眼查
soeasycenter-webconfig: 所有provide微服务通用过滤器、拦截器等配置的公共包
soeasycenter-weixin-college: 微信高校端
soeasycenter-weixin-supplier: 微信企业端
springboot-swagger-stater: swagger启动包
# 启动项目
# 1. 克隆项目
git clone http://47.106.143.90:7234/gzgc-team/soeasycenter.git
# 2. 使用idea打开项目文件:
# 3. 启动soeasycenter-eureka项目
修改host文件
在 C:\Windows\System32\drivers\etc 下的hosts文件的最后一行加上
127.0.0.1 eureka1 eureka2
找到 soeasycenter-eureka 项目的启动类
运行启动
找到run里面的 eureka 配置信息右键菜单点击修改配置
将profile修改成eureka1
右键配置好的配置文件再将其复制一次并将profile修改成eureka2
双击启动,这样就启动了eureka双节点
# 4. 启动配置中心 soeasycenter-config-server
# 5. 查看 eureka 注册中心
进入网址: http://eureka1:8761/ (opens new window)
进入登录页面,输入项目配置好的账号密码
就能看到如下页面
这样项目所需的基本服务都运行起来了
# 6.按需启动剩下需要开发的项目
# 部署
本项目使用docker容器服务进行部署
# 一、本地部署
# 1. 安装docker
# 2. 为项目的pom文件加上docker maven插件
<!-- docker的maven插件,官网:https://github.com/spotify/docker-maven-plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!-- 注意imageName一定要是符合正则[a-z0-9-_.]的,否则构建不会成功 -->
<!-- 详见:https://github.com/spotify/docker-maven-plugin Invalid repository name ... only [a-z0-9-_.] are allowed-->
<imageName>${docker.url}:${docker.port}/${project.artifactId}:${project.version}</imageName>
<serverId>docker-group</serverId>
<baseImage>java</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
# 3. 修改本地安装 maven 的配置文件 setting.xml
找到本机maven安装目录下的 /conf/setting.xml 添加如下代码
<servers>
<server>
<id>docker-group</id>
<username>你的nexus账号</username>
<password>你的nexus密码</password>
<configuration>
<email>你邮箱</email>
</configuration>
</server>
</servers>
# 4. 对项目进行清理、打包、生成镜像、发布镜像
按照下图依次点击
这里maven的push插件运行不了 发布镜像到远端需要在命令行输入如下命令(这里以 soeasycenter-alioss 项目为例)
查看打包好的本地镜像
docker images
登录docker私库
docker login 121.42.253.44:6092
TIP
输入nexus账号密码
复制镜像名称并上传
docker push 121.42.253.44:6092/soeasycenter-alioss:1.0.0-SNAPSHOT
TIP
121.42.253.44:6092 : docker 私库地址
soeasycenter-alioss :项目名
1.0.0-SNAPSHOT :版本号
# 5. 登录到项目服务器拉取最新镜像并启动
这里以 soeasycenter-alioss 项目为例
拉取项目镜像
docker pull 121.42.253.44:6092/soeasycenter-alioss:1.0.0-SNAPSHOT
找到正在运行的该镜像容器id
docker ps --filter name=alioss
运行结果如下:
根据容器id停止响应项目容器
docker stop 1fcc0cba5542
进入项目的docker-compose.yml文件所在目录
cd /data0/soeasycenter/eureka
使用docker-compose 编排启动微服务
docker-compose up -d
# 二、jenkins部署
# 1.登录jenkins
jenkins地址: http://119.23.71.52:90/ (opens new window)
# 2. 进入项目
# 3. 点击 build with Parameters
# 4. 输入要打包的项目及打包操作
TIP
打包项目名列表(pom_location)
./soeasycenter/pom.xml 对应命令为: clear install(父项目不需打包,安装依赖即可,仅在项目第一次构建使用)
./soeasycenter/springboot-swagger-starter/pom.xml 对应命令为: clear install(依赖包不需打包,安装依赖即可,已加入所有项目前置构建步骤)
./soeasycenter/soeasycenter-repo/pom.xml 对应命令为: clear install(依赖包不需打包,安装依赖即可,已加入所有项目前置构建步骤)
./soeasycenter/soeasycenter-api/pom.xml 对应命令为: clear install(依赖包不需打包,安装依赖即可,已加入所有项目前置构建步骤)
./soeasycenter/soeasycenter-eureka/pom.xml
./soeasycenter/soeasycenter-config-server/pom.xml
./soeasycenter/soeasycenter-alioss/pom.xml
./soeasycenter/soeasycenter-gateway/pom.xml
./soeasycenter/soeasycenter-college/pom.xml
./soeasycenter/soeasycenter-job/pom.xml
./soeasycenter/soeasycenter-mall/pom.xml
./soeasycenter/soeasycenter-manager/pom.xml
./soeasycenter/soeasycenter-search/pom.xml
./soeasycenter/soeasycenter-sms/pom.xml
./soeasycenter/soeasycenter-portal/pom.xml
./soeasycenter/soeasycenter-tianyancha/pom.xml
./soeasycenter/soeasycenter-supplier-bid/pom.xml
./soeasycenter/soeasycenter-supplier-mall/pom.xml
./soeasycenter/soeasycenter-supplier-buy/pom.xml
./soeasycenter/soeasycenter-weixin-college/pom.xml
./soeasycenter/soeasycenter-register/pom.xml
./soeasycenter/soeasycenter-microservice/pom.xml
TIP
执行命令列表(maven_goal)
clean 清理
package 打包
-Dmaven.test.skip=true 跳过测试(由于使用了配置中心,项目测试时会去通过eureka寻找配置中心,eureka使用的是docker内网。测试时是肯定拿不到配置会失败的,依次需要跳过测试)
docker:build 生成docker镜像
# 5. 查看执行结果