单机微服务整合Jenkins的代码准备

 Jenkins+Docker+SpringCloud持续集成流程说明

 

大致流程说明:
1)开发人员每天把代码提交到Gitlab代码仓库
2)Jenkins从Gitlab中拉取项目源码,编译并打成jar包,然后构建成Docker镜像,将镜像上传到
Harbor私有仓库。
3)Jenkins发送SSH远程命令,让生产部署服务器到Harbor私有仓库拉取镜像到本地,然后创建容器。
4)最后,用户可以访问到容器
服务列表(红色的软件为需要安装的软件,黑色代表已经安装)

SpringCloud微服务源码概述
项目架构:前后端分离
后端技术栈:SpringBoot+SpringCloud+SpringDataJpa(Spring全家桶)
微服务项目结构:

tensquare_parent :父工程,存放基础配置
tensquare_common :通用工程,存放工具类
tensquare_eureka_server :SpringCloud的Eureka注册中心
tensquare_zuul :SpringCloud的网关服务
tensquare_admin_service :基础权限认证中心,负责用户认证(使用JWT认证)
tensquare_gathering :一个简单的业务模块,活动微服务相关逻辑

tensquare_user :用户认证数据库,存放用户账户数据。对应tensquare_admin_service微服务
tensquare_gathering:活动微服务数据库。对应tensquare_gathering微服务
微服务配置分析:
tensquare_eureka
tensquare_zuul
tensquare_admin_service
tensquare_gathering

启动然后开始测试

[root@servcie01 jar]# vim Dockerfile
[root@servcie01 jar]# docker build --build-arg JAR_FILE=tensquare_eureka_server-1.0-SNAPSHOT.jar -t eureka:v1 .
Sending build context to Docker daemon  44.76MB
Step 1/5 : FROM openjdk:8-jdk-alpine
8-jdk-alpine: Pulling from library/openjdk
e7c96db7181b: Pull complete
f910a506b6cb: Pull complete
c2274a1a0e27: Pull complete
Digest: sha256:94792824df2df33402f201713f932b58cb9de94a0cd524164a0f2283343547b3
Status: Downloaded newer image for openjdk:8-jdk-alpine
 ---> a3562aa0b991
Step 2/5 : ARG JAR_FILE
 ---> Running in 4006ee9cbd19
Removing intermediate container 4006ee9cbd19
 ---> 46364eca6645
Step 3/5 : COPY ${JAR_FILE} app.jar
 ---> d988344ced20
Step 4/5 : EXPOSE 10086
 ---> Running in 910b5e75af4c
Removing intermediate container 910b5e75af4c
 ---> 5021ade6456b
Step 5/5 : ENTRYPOINT ["java","-jar","/app.jar"]
 ---> Running in afeb8fd8acc1
Removing intermediate container afeb8fd8acc1
 ---> bbe3b55ecb06
Successfully built bbe3b55ecb06
Successfully tagged eureka:v1
[root@servcie01 jar]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
eureka              v1                  bbe3b55ecb06        24 seconds ago      150MB
openjdk             8-jdk-alpine        a3562aa0b991        12 months ago       105MB
[root@localhost jar]# cat Dockerfile
FROM openjdk:8-jdk-alpine
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
EXPOSE 10086
ENTRYPOINT ["java","-jar","/app.jar"]
[2]+  Killed                  java -jar tensquare_eureka_server-1.0-SNAPSHOT.jar
[root@localhost jar]#

然后本地服务连上镜像中的eureka 

 进行测试,发现权限不足

 

 登录获取token

 

 带着token去请求测试。

 

本地部署(2)-前端静态web网站
前端技术栈:NodeJS+VueJS+ElementUI
使用Visual Studio Code打开源码
1)本地运行
npm run dev
2)打包静态web网站
npm run build
打包后,产生dist目录的静态文件
3)部署到nginx服务器
把dist目录的静态文件拷贝到nginx的html目录,启动nginx
4)启动nginx,并访问

 

posted @ 2020-06-02 20:03  天宇轩-王  阅读(394)  评论(7编辑  收藏  举报