ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

分布式金融项目实战基于SpringCloudAlibaba

2022-02-27 12:34:15  阅读:269  来源: 互联网

标签:实战 GitLab 配置文件 gitlab mnt Nacos 配置 SpringCloudAlibaba 分布式


分布式金融项目实战基于SpringCloudAlibaba

 

003:基于GitLab代码管理与分布式配置中心

 

1 将Api微信接口项目发布到Maven私服

今日课程任务

  1. 构建企业级GitLab代码管理平台
  2. GitLab代码管理平台账号密码分配与初始化
  3. 构建企业级Nacos分布式配置中心
  4. Nacos分布式配置中心多环境配置

发布每特教育Api接口的项目
注意创建Maven仓库的时候选择 SNAPSHOT 快照版本

<!--指定仓库地址 -->
<distributionManagement>
    <repository>
        <!--此名称要和.m2/settings.xml中设置的ID一致 -->
        <id>mayikt</id>
        <url>http://8.133.186.19:8081/repository/mtmayikt_snapshot/</url>
    </repository>
</distributionManagement>
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

先在父pom的目录下,执行mvn install。然后再到子目录执行mvn dependency:tree
否则报错(找不到mt-shop-service-api-base,微信项目依赖该jar包)
在这里插入图片描述

2 基于Docker构建企业级GitLab代码管理

构建企业级代码仓库管理中心
常用的代码仓库管理有Git/SVN 、码云、GitLab等。
GitLab详细百度百科版本的介绍:
https://baike.baidu.com/item/gitlab/3059600?fr=aladdin
注意:GitLab消耗服务器内存非常大,一般的云服务器很难跑起来。

基于Docker部署GitLab环境搭建
建议虚拟机内存2G以上
1.下载镜像文件

docker pull beginor/gitlab-ce:11.0.1-ce.0
 
  • 1

注意:一定要配置阿里云的加速镜像
2.创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。

mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data
 
  • 1
  • 2
  • 3

容器中里面ect gitlab配置文件同步到外部(映射)
3.运行GitLab容器

docker run \
    --detach \
    --publish 8443:443 \
    --publish 8090:80 \
    --name gitlab \
    --restart unless-stopped \
    -v /mnt/gitlab/etc:/etc/gitlab \
    -v /mnt/gitlab/log:/var/log/gitlab \
    -v /mnt/gitlab/data:/var/opt/gitlab \
    beginor/gitlab-ce:11.0.1-ce.0
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4.修改/mnt/gitlab/etc/gitlab.rb
把external_url改成部署机器的域名或者IP地址
(原:# external_url ‘GENERATED_EXTERNAL_URL’)

vi /mnt/gitlab/etc/gitlab.rb
external_url 'http://192.168.0.121'
 
  • 1
  • 2

5.修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

vi /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
找到关键字 * ## Web server settings * 
将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
192.168.0.121
将port改为8090
 
  • 1
  • 2
  • 3
  • 4
  • 5

6.先停止docker容器再重新启动
docker ps
docker stop $gitlabId
docker start $gitlabId
到此为止,gitlab的web管理页面就可以正常访问
在这里插入图片描述
修改默认root账户密码 maplefire

GitLab创建项目
在这里插入图片描述

3 项目导入到GitLab和拉取代码

Idea将代码上传到GitLab中

  1. 首先idea安装gitlab的插件 GitLab Projects
  2. 创建仓库
    VCS->Import into Version Control->Create Git Repository->选择mt-shop-parent
  3. 点击项目提交代码
    Git->Commit Directory(.idea文件夹下内容不勾选)
  4. 将代码提交到GitLab
    Git->push 点击Define remote输入url
    http://192.168.0.121:8090/root/mt-shop-parent.git
    输入git账号和密码

从gitlab中拉取我们的代码
File->New->Project from Version Control
输入地址 账号即可

解决GitLab下载地址不展示ip问题
上文第3步运行Gitlab容器代码如果是–publish 8090:8090 \,则第4步修改/mnt/gitlab/etc/gitlab.rb中external_url地址也要加端口号8090,如:
external_url ‘http://192.168.0.121:8090’

4 Nacos配置中心架构实现原理

构建分布式配置中心Nacos
分布式配置中心可以实现不需要重启服务器,动态的修改配置文件内容,常见的配置中心有携程的阿波罗、SpringCloud Config、Nacos轻量级的配置中心等。
在这里插入图片描述
启动nacos windows双击startup.cmd文件
Linux:sh startup.sh -m standalone

在Naocs平台中创建配置文件
Data ID:名称(默认为服务器名称)-版本.properties|yaml;

5 SpringBoot项目整合Nacos配置中心

整合Nacos配置中心
Maven依赖的配置

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>0.2.2.RELEASE</version>
</dependency>
 
  • 1
  • 2
  • 3
  • 4
  • 5

bootstrap.yml

server:
  port: 7070
spring:
  application:
    name: mayikt-member
  cloud:
    nacos:
      discovery:
        ##nacos服务注册地址
        server-addr: 8.133.186.19:8848
        ## nacos配置中心
      config:
        server-addr: 8.133.186.19:8848
        file-extension: yaml
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

注意nacos客户端读取配置文件的配置文件名称一定为bootstrap.yml或者是properties,否则无法加载到远程读取到该配置文件。
测试效果:
在这里插入图片描述
注意:想要动态刷新配置文件,实现类上需要加注解@RefreshScope

6 将本地项目所有配置文件迁移到nacos

哪些配置文件应该放入到nacos配置中心中
经常需要发生变化的、sit/pre/prd环境都不一样的配置、数据源/第三方配置、开关等
在这里插入图片描述

7 Nacos多个不同的环境配置

多环境不同的版本区分
分别在nacos服务器端创建
mayikt-member-dev.yaml
mayikt-member-prd.yaml
配置文件切换,bootstrap.yml文件中加入
spring: profiles: active: dev(prd)直接切换
在这里插入图片描述

 

 

标签:实战,GitLab,配置文件,gitlab,mnt,Nacos,配置,SpringCloudAlibaba,分布式
来源: https://www.cnblogs.com/vvvs/p/15941952.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有