zoukankan      html  css  js  c++  java
  • 单机微服务整合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,并访问

  • 相关阅读:
    Educational Codeforces Round 95(A-C题解)
    Codeforces Round #669 (Div. 2)A-C题解
    Codeforces Round #668 (Div. 2)A-C题解
    八月第四周总结
    牛客小白月赛27部分题解
    八月第三周总结
    Codeforces Round #665 (Div. 2)A-C题解
    Kubernetes K8S之存储ConfigMap详解
    在Linux下如何根据域名自签发OpenSSL证书与常用证书转换
    Linux系统如何在离线环境或内网环境安装部署Docker服务和其他服务
  • 原文地址:https://www.cnblogs.com/dalianpai/p/13030915.html
Copyright © 2011-2022 走看看