3.谷粒商城11-14文字版

11、环境-docker安装redis

    好,接下来呢,我们继续安装Redis,我呢,现在已经使用vagrant连上了我们的虚拟机,只不过呢,目前这()目前还不是咱们的root用户,我们可以先切换到root用户。
【[vagrant@10~]$ su root】
    输入密码vagrant。
    好,我们想要安装Redis,那我们先做第一步,docker pull redis,我们下载redis镜像,欸,我这一块儿呢,不写冒号标签,那就是下载redis的最新镜像。
【[root@10 vagrant]# docker pull redis】
    那这个镜像呢,都是从docker hub里边,好, 我们找到的这些redis镜像,我们下载呢,都是默认官方的镜像名redis, TAGS标签呢,我们现在是下载最新镜像。好,我们来等待他。
    下载完成以后呢,接下来我们来启动redis,怎么启动redis呢,其实官方的这些镜像,下面呢,都有一些简单的命令,比如我们启动一个redi实例,最快的使用docker run --name,给我们这个实例呢,取一个名字,比如叫我的redis,然后呢-d,我们以redis镜像启动,只不过呢,这一块没有编写端口映射或者目录挂载等等,那我们呢,就编写一个完整的命令,使用这个命令,叫docker run -p,-p呢,那就是把LINUX虚拟机的6379,映射到我们docker的6379,然后呢,--name redis我们为这个容器取一个名字,就叫redis,接下来关键两步,-v进行目录挂载,把我们这个容器内部的/data文件夹挂载到LINUX外边的mydata/redis/data里边, 这个data里边呢都存了redis的一些数据,包括呢-v把我们容器内部etc/redis/redis.conf,我们认为呢有一个redis.conf配置文件挂载到我们外边,那以后呢,我们只需要在Linux外边这个位置,改redis的配置文件就可以了,包括呢-d,后台运行,我们是以redis这个镜像来启动的,同时呢,我们启动的时候加了启动的额外命令,什么命令呢,redis-server,我们让redis服务器以后边的这个配置文件,加载这个配置文件的方式,进行启动,相当于呢我们每次只要启动我们这个redis容器,那么呢,他都会读取这个配置,这个文件配置文件呢,那都是挂载到我们外边,只要改了外边的配置文件,redis也就改了,但这一块呢,有一个小坑,也就是说我们这个容器内部etc/redis/redis.conf,我们进内部呢,只有这两层,它实际上呢,是没有这个文件的,那如果我们直接来运行这个命令,那么我们这个挂载啊,他经常会把这个,最后一个当成目录,他不会当成一个文件,所以呢,我们预先先把这个文件在我们外边创建好,然后呢,再跟我们docker的内部,进行一个挂载。
    好,我们先来执行前面两步,我们mkdir -p我们来先创建出咱们这个,整个目录结构  。
【mkdir -p /mydata/redis/conf】

    我们现在,cd到mydata里边。
【cd /mydata/】
【ls】
    我们mydata呢现在有一个redis文件夹,我们刚才创出来了。
【cd redis/】
【ls】
    然后呢再cd conf/里边。
【cd conf/】
【ls】
    然后,这里边呢,我们现在没有redis配置文件,我们呢手工的先给他创建一个,redis.con。
【touch redis.conf】

好,touch redis.conf,创建好了以后呢,接下来我们再来运行,这个命令,这样呢,我们挂载的时候外边就会有一个配置文件了, 好,我们把这个复制来,虽然这个配置文件里边什么都没有,但它是可以用的,好,我们直接来粘贴这个命令,回车。

docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data\
    -v /mydata/redis/conf/redis.conf:etc/redis/redis.conf\
    -d redis redis-server /etc/redis/redis.conf

    那至此呢,我们这个redis就安装完成了,我们使用docker ps来检查一下。
【docker ps】
    清空,重新检查docker ps,发现呢,redis已经运行起来了,那我们外边的这个配置文件呢,就在这。
【ls】
【cat redis.conf】
    我们来看他redis.conf,这个配置文件里边呢,还没有任何东西,如果我们想改,在这一改,重启一下redis就能用了。但是呢,我们现在可以测试一下redis怎么用,想要这个测试呢,我们以前是用,rendis()客户端测的,那我们装的这个docker版的redis也有这个客户端,他是这样测的,我们docker exec -it,然后呢我们以前是,进入到redis/,是直接进控制台,我们就不进了,我们,让他呢,执行redis-cli,回车。
【docker exec -it redis redis-cli】
    这样呢,我们直接redis-cli,连向我们这个docker的redis。
    我们现在呢,可以运行很多命令,比如set a b,欸我们给redis里边存了一个a b ,然后呢,我get a ,他就能得到b,然后,我们来退出。
【set a b】
【get a】
【exit】

    但是现在有一个最大的问题,因为我们redis默认配置它是没有持久化的,redis的所有数据都存在内存中,所以我如果重启redis,再连进来,获取a的值,那就获取不到了,我们可以看一下,docker ps。
【docker ps】
    我们现在redis在启动,我们把redis重启一下, docker restart redis。
【docker restart redis】

    好,重启了以后呢,我们重新再来执行docker exec然后呢-it交互模式,我们进入redis容器,但是呢,我们不进操作台,我们进他的cli,好,回车。
【docker exec -it redis redis-cli】
    然后呢,我们用redis客户端连线redis以后呢,我们现在,欸,get a,我们之前存了一个a,我现在get a 。
【get a】
    我们发现呢,返回的是null,也就是说,以前的数据,他都是存在内存中的,没有持久化,那想让他持久化怎么办呢。
【exit】
    我们只需要pwd。
【pwd】
【ls】

    好,这是我们当前在外部挂载的这个目录,这里边有一个redis配置文件,我们来修改这个配置文件。
【vi redis.conf】
    走,进来,输入i,进入插入模式,我们需要呢,添加一项配置,叫appendonly yes,我们使用到redis,启用auf的这个持久化方式,好,我们wq保存。

appendonly yes

:wq
 】
    至于这个auf是什么,详细的细节,大家去谷粒学院来听我们这个redis相关的教程就行了,我们在这直接来用,好,我们把这个配置文件,改完了以后呢,我们重启一下redis,docker restart redis。
【docker restart redis】
    重启了以后呢,我们来docker ps。
【docker ps】
    我们现在看redis还正在运行。我现在,重新尝试一下,我们进入reids exec -it。
【docker exec -it redis redis-cli】
    我们进入Redis,还是拿redis的客户端,好,进来以后呢,我现在,再存一个,比如叫aa,他的值叫bb。key呢叫aa,值呢叫bb,我现在来获取aa。
【set aa bb】
【get aa】
目前呢是可以的,我们现在把redis重启一下,看行不行,以前我们没有配这个持久化的时候,我们redis重启数据就丢了,现在呢,我们来重启,docker restart redis。
【exit】
【docker restart redis】
    好,重启以后呢,我们docker ps看一下。
【docker ps】
    好,redis现在都是启动成功的,注意这STATUS    Up。
    启动成功以后呢,我们接下来docker exec我们再进redis里的,我们使用这个redis-cli,来操作redis。
【docker exec -it redis redis-cli】
    好,我们现在来get aa,我们刚才存了个aa,我们现在get aa, 回车。
【get aa】
    欸,我们发现,获取到bb了,好,那redis的持久化,我们就配置好了,那以后呢,为了方便我们看redis里边的数据,推荐大家呢,安装一个redis的可视化客户端RedisDesKtopManager,我呢把这个软件呢,也已经发给大家了,大家安装就行了,那安装好了以后呢,我们使用这个可视化界面,连向redis,那怎么连呢,我们在这呢,只需要点一个Connect to Redis Server,我们连向redis的服务器。好,这个redis呢,是我们这个gulimall,谷粒商城的,咱们这个redis,redis的主机地址,那,我们虚拟机的地址呢,是192.168点,我们是56.10,好,我们来测试连接,欸,我们发现呢,这就连上了,我们来点一个ok,以后呢,有什么数据,我们都可以在这看,刚才存的aa bb,这都有,那至此呢,我们这个redis就配置完成了,我们呢,装好了redis,并且呢,给他配置了持久化的方式appendonly,当然,redis的这个配置文件里边,到底能配哪些东西,大家完全可以参照redis的官方文档。
【https://redis.io/】
    这redis,好,我们来到redis的官方文档,来到Documentation里边,好,我们一直往下翻,这块呢有一个叫Configuration,redis的这个配置,配置呢,他这有一个配置样例,我们来点进去, 我们来找redis4.0,好,我们找最新版的点进去。这就是整个redis.conf配置文件,能配哪些,那#呢都是注释掉的,比如呢,我们刚才配的这个aooendonly,那aooendonly呢,其实默认是no的,相当于我呢,我们呢把数据是存在内存中的,只有把它调成yes,它才可以把数据持久化到硬盘,等等等等,redis的跟多详细配置,包括redis的教程,希望大家呢,来我们这个谷粒学院,来,搜索我们这个redis相关的课程去来学习就成。

12、环境-开发工具&环境安装配置

    前面呢,我们安装了MySQL和redis环境,那接下来呢我们就统一我们的开发环境,首先,我的开发环境里边,我的JDK版本,我们来给大家看一下,java -vresion。
【C:\Users\lfy>java -varsion】
    我装的JDK呢,是1.8,那我们这个开发要求JDK至少在1.8及以上,好,接下来呢我的maven版本,mvn -version。
【mvn -version】
    好,我们这个maven版本呢,我是下载的新版的3.6.1的maven,那我maven安装在我们这个位置,其次呢,我们对maven做一些配置,首先呢让maven,使用阿里云的镜像,这样下载JAR包,就很快了,其次呢我们让maven用JDK1.8来编译项目,那这两处配置呢,我们来给它加上。
    首先呢,打开我们maven的安装位置,我的在H盘,Devsoft,好,我们这个maven,找到他的conf文件夹,settings.xml配置文件,打开,我们呢,首先来找,跟他镜像有关的,来搜索mirros,好,那镜像的这一块配置呢,我mirrors标签搜到以后呢,中间使用这个mirrorOF我们来替代我们这个阿里云的镜像,好,我们在这呢把这一块复制过去就行了,我之前已经配置过了,其次呢,把这个JDK,我们搜索,profilles,把这个标签也替换掉,你在这搜索profilles,好,我们来搜到咱们这个profilles标签以后呢,我们来也替换过来, 原来大家可能新装的maven,profilles的这个是被注释掉的,那打开这个注释,或者呢,给这新加一个profilles,让他使用1.8来编译项目,那这款配置好了以后呢,接下来我们就打开idea,我们来整合我们的maven。

    我们在idea里边来,我们来找Settings,配置,我们来找到,跟maven有关的配置,这有Build,构建工具里边【Build Tools——Maven】,这有一个maven,我们来让idea使用我们的maven。在这一块呢【Maven hume directory:】,我们来指定maven的安装目录。包括使用我的maven的配置文件【User settings file:】。以及用我们maven这个仓库地址等等【Local repository:】,如果这一块呢你没指定上【User settings file:】,你可以在这点开我们来,找到自己maven的位置,在这指定就行了,好,那这一块呢我们就先整合完成。

    然后呢,我们再给idea里边,装上两个我们常用的插件,我们来到这个Plugins里边,首先呢装第一个插件lombox,这个插件呢能简化我们JAVA()的开发,好,我们在这呢找到它,并且,安装,就行了。第二个插件,我们再来装一个MyBatisX,这个插件呢,是MyBatis plugin,给我们开发的一个,为了简化我们从一个(mapper)的方法,快速定位到,我们这个xml文件,这两个呢我们后来开发的时候再使用,大家先装上就行,那,我们以后使用JAVA开发我们的后台微服务项目,我们就使用idea进行开发。

    然后呢,我们还会给大家,来开发一个,我们前端的,后台管理系统,这个呢,我们使用vscode开发,大家,现在呢,需要先去下载vscode并进行安装,vscode呢,是微软给我们出品的一款非常轻量级的,咱们这个IDE工具,好,我们先可以来下载他,那等这一块下载完以后呢,大家直接一路安装,就行了,好,我们来直接打开它进行安装,这一块提示呢我们这vscode是需要以一个管理员身份去运行,所以我们来点击确定,我们选择接受协议,下一步,好,我们来选择把它装在我们H盘,欸,找一下我们的H盘, 开发软件里边,好,我们来装在这,来,点下一步,点击下一步,选中创建桌面快捷方式,好,我们直接安装,好,这个vscode呢,我们就安装完了,那我们桌面呢,有这个快捷方式,我们以后开发前端项目,我们就使用vacode进行开发。

    当然,为了我们开发方便,我们也需要给vdcode里边,安装一些常用的插件,这插件呢,我们需要打开vscode,这个位置,这一块呢,有一些流行的插件,这是推荐的插件,包括呢,我们这,下边如果有安装,有已安装的插件,那么安装一些,欸,我们这个文档里边列举了的,这些插件,我们来照着安装就行了。
    首先咱们这个,第一个Auto Close Tag,帮我们自动进行开辟标签的,我们来搜到它,好,我们在这呢,搜到以后呢,点击安装【Install】,这有Auto Close,还有我们这个Auto Rename Tag, 我们把这两个呢,都进行点击安装即可。然后呢,接下来,我们再来装上,咱们这个中文,简体中文包【Chinese(Simplified)Language Pack .......】,欸,如果大家觉得这个英文不好看,这还有咱们这个简体中文包,安装上以后呢。咱们这个vscode就会变成中文版的,当然,这需要重启才能变。然后呢,包括呢,我们接下来,再来安装EsLint, 这都是我们后来要开发前端需要的一些组件,至于是什么功能,我们后来再说吧,好,这相当于是呢,前端的es语法检查的插件,然后呢,再来安装上支持HTML CSS的这些,HTML CSS,【HTML CSS Support】【HTML Snippets】,好,把这个,安装上。帮我们来编写HTML CSS的,包括来简化HTML开发,然后呢,我们还需要安装,咱们这个JavaScript(ES6),欸,我们这个JS,有JS语法提示的,JavaScript,好,主要是咱们这个ES6,JS的这个ES6的语法提示的,包括呢,我们这有live Server,欸,我们实时这个服务器的,好,我们来安装上,包括呢,还有open in browser,欸,这在浏览器打开页面的,好,然后呢,包括我们这个开发vue项目,开发vue的咱们这个最常用的工具【Vetur】。好,我们来安装就行了,好,我们把这插件,装好以后呢,我们以后开发,就方便多了,那么最终,这一块呢,全部都装完以后呢,我们可以来,重启我们的idea,安装了这个中文插件包,所以呢,只需要重启,重启我们这个vscode,我们这些呢,就可以使用了,具体的,使用和编码,我们在讲前端项目的时候呢,再说。


Auto Close Tag
Auto Rename Tag
Chinese(Simplified)language Pack for Visual....
ESLint
HTML CSS Support
HTML Snippets
JavaScript(ES6)
Live Server
open in browser
Vetur

13、环境-配置git-ssh

    现在呢,我们继续配置git,因为我们后来,项目所有的代码,我们都使用git进行版本控制,但,要使用git呢,大家需要,在码云,或者git hap,有相关的账号,那么git hap呢,经常有访问不到的问题,所以呢,我们推荐,使用码云,如果没有git账号的同学, 可以先在码云里边,注册一个账号,填写相关的邮箱信息就行了。
【https://gitee.com/】
【注册:https://gitee.com/signup】
    接下来,我们需要一个git客户端,帮我们把代码提交给码云,那我们来,搜索git,去来git的官网,下载对应的git客户端,我们在这点击下载即可。那么这一块呢,一会儿就会给我们进行下载,这下载完成,大家一路安装就行了。
【https://git-scm.com/】
    那,我们这个已经安装好了,安装的时候,一直点next,使用默认配置即可。我们这个安装好以后呢,右键菜单里边,任意位置右键菜单,都会有git GUI,和git Bash,两个操作界面。

    那么,我们就使用git Bash,来到git的控制台,先对git做一些基本配置。

    首先呢,告诉git,我们当前是哪个用户在使用,配置下你的用户名,你的邮箱等等,每次提交代码呢,git就会带上作者信息。
【git config --global user.name "用户名"】
    好,那我们把这一块呢,我们来复制过来,把这个用户名呢,改成你当时注册的,或者你自己的名字,都行,不一定非要跟你注册时的名字一模一样,好,然后呢,接下来,我们再来填上自己的邮箱,这些呢,只是配置一个作者信息,来,我们可以写上自己的邮箱。
【git config --global user.email "作者邮箱"】
    好,我们现在呢,先配置好了,这两个基本信息。接下来呢,我们git要经常连上码云提交,或者同步更新代码。那我们呢,可以使用SSH免密连接。这个要怎么做呢,欸,可以参照我的文档这一块。包括码云呢,这一块有完整的整个操作文档。无论是git,还是git hap,都是一样的。

    那怎么操作呢,我们还是一样,先来到git Bash,这个控制台,使用我们这个命令,ssh-keygen,我们来生成我们的这个密钥,好,我们来复制一下,把这个粘贴过来,这块呢,填自己的邮箱地址,自己在git上注册时用的邮箱地址,在码云上注册,用到我们这个邮箱地址就行了。
【ssh-keygen -t rsa -C "xxxxx@xxxxx.com"】

    好,填好以后接下来我们来回车,回三次回车,要三次回车。好,三次  回车以后呢,这一块呢就已经生成好了,我们这个密钥,有了这个密钥以后呢,我们一般都在用户模式下,当我们想要看完整的密钥内容,我们使用cat。
【cat~/.ssh/id_rsa.pub】
    这个git Bash呢也是Linux命令,我们使用cat呢,看一下我们这个完整的密钥内容。这一块密钥内容呢就这么长,把这一块的密钥内容呢,我们需要完整的复制到码云里边。

    好,大家可以登录自己的码云,我来登录上来。好,使用我的邮箱以及密码,登录到码云以后呢,来到你的设置页面,在设置页面里边呢,我们来找到SSH公钥,把这个公钥呢,标题随便填一个,比如我们这个这是gulimall,当时添加,这要把这个公钥内容呢,我们直接在这一块,我们cat的整个完整内容复制来,复制,注意不要带后边的一些空格,粘贴,我们点一个确定,这块呢,有密码验证为了安全期间呢,你还需要输一下账户的密码,再输一次。

    好,那我们这个公钥呢,就添加好了,添加好以后,怎么测试呢,我们接下来使用咱们这个命令,将ssh -T git@gitee.com,好,我们来使用咱们这个命令,我们来复制一下这个命令,复制,好,我们来粘贴一下我们这个命令。
【ssh -T git@gitee.com】
    来,回车,在这儿呢,这一块就会测试成功,然后呢在这,我们要手动的确认一下,我们以后是否就是使用这个密钥,来输入YES。
【yes】
    来接下来呢,我们这个就access了, 欸,它跟我们打招呼说,OK,成功了,那么,以后呢,我们使用GET客户端给马云配送我们项目内容的时候,就不用填写帐号密码了。
 

14、环境-项目结构创建&提交到码云

    配置好git以后,接下来我们就从码云初始化一个项目,以后我们所有的代码都提交给码云,包括呢我们初始化项目呢,我们按照我们以前的微服务划分,我们先创建出这么几个模块。
【商品服务、仓储服务、订单服务、优惠券服务、用户服务】
    稍后我们在使用相关的逆向工程,以及我们开源的一些脚手架工程,搭建出我们的基本开发环境。

    好,首先呢,登录自己的码云,我们在这一块呢,点击,新建仓库,我们现在呢,就要创建一个,我们的这个开发叫gulimall。
    然后呢,我们这个【仓库介绍】是谷粒商城。
    我们这个可以选择公开或者呢私有,都行,我在这一块呢,比如选择公开。
    语言呢,我们是使用JAVA来开发。【Java】
    注意,大家在这呢选上gitgnore模板,这样的话呢, 我们提交的一些,非我们这个代码,以及配置文件类的东西他就可以忽略掉。欸我们的项目就不会提交很多的垃圾,好,现在呢,来找一下,模板呢,我们主要是Maven开发就找到 Maven模板。【Maven】
    然后呢,开源的许可证协议,当然大家有了解的话呢,可以选一个,那我选Apache-2.0。【Apache-2.0】
【设置模板——Readme文件】
    然后呢,接下来,包括我们这个开发模型,我们推荐大家呢,暂时在测试的时候,选择生产/开发模型,这样我们开发的时候呢,在dev分支,然后开发完成以后,我们合并到master分支。【生产/开发模型(支持master/develop 类型分支)】
    好,我们创建出我们这个仓库。
    那么创建出这个仓库以后呢,仓库里边本身就有有一些信息和内容,来,我们来复制好我们这个仓库地址【克隆/下载——复制】,我们以这个仓库,来保存我们项目所有的代码。
    我们打开idea,选择file/New,新建一个项目,从我们这个版本控制里边【Project from Version Control...】,我们选择使用Git,把我们刚才项目的地址一复制【URL:】,那么我们就会自动的把这个项目克隆下来,好,我们点击克隆【Clone】。
【New Window】
    好, 我们就在当前窗口【新的窗口】,打开我们这个项目,我们这个项目呢就是从码云帮我们下载下来的项目,但这个项目呢,我们最终作为一个总项目,我们把各个的微服务模块,创建在这个项目里边,好,我们现在呢,创建一个一个的微服务模块。
【Spring Boot项目】
【在项目那右键——New——Module...——Spring Initializr——Default:https://start.spring.io——Next】
    首先呢,我来选择一个New,我来创建第一个微服务模块,第一个微务模块呢,我们使用Spring的初始化向导,我来创建我们的商品服务,欸com.atguigu点我们这叫gulimall。
【Group:com.atguigu.gulimall】
    我们谷粒商城,我们是什么服务呢,这是我们gulimall的商品服务product。
【Artifact:gulimall-product】
    和商品相关的所有信息,都在这,欸,谷粒商城商品服务,我们在这备注一下
【Des ription:谷粒商城-商品服务】
    好,我们呢,把这个,这一块,我们给他删除掉,好,我们就叫gulimall.product。
【Package:com.atguigu.gulimall.product】
    好,我们来选择Next。

    首先呢, 我们这个项目啊,每一个都是微服务,所以微服务呢我们先导入必要的两个,第一个是Web。
【Web——Spring Web】
     第二个呢,我们微服务跟微服务之间,要进行互相调用,所有呢,我们在Routing里面,我们来使用OpenFeign来进行互相调用。
【Spring Cloud Routing——OpenFeign】
    我们先导入微服务的两个必要组件,后来呢,我们在用到的时候才导入。

    好,我点下一步,Finish,同理呢,创建出其他各种项目,而且这一块呢,会提示我们项目的这些配置文件,是不是要加在里边,这块呢,我们先别点【x掉】。
    我们继续,依次创建出其他服务就行了,当然在创建这些服务的时候呢,每一个服务都有这么几个共同的地方。
    首先,第一个,每一个服务呢都先导入Web和openfeign这两个场景,然后呢,第二个,每一个服务,每一个服务,我们这个按照规范,包名呢,包名我们都是com.atguigu.gulimall,剩下这一块呢,就是各个服务的,比如product也好,哎我们这个商品服务也好,或者呢,订单【order】,或者我们这个仓储服务,或者我们这优惠券【coupon】,或者我们的用户,会员,好menber.好,那么, 这就是我们这个包名.包括模块名呢,我们也规定了,模块名,模块名呢,都是gulimall-我们这个各个模块的意思,而且呢,我们这个包名,前面的这一串那就是每一个项目的组织名。哎所有的我们这个微服务组织名统一的,只有模块名不一样,好,那我们接下来就创建各个微服务项目。

商品服务、仓储服务、订单服务、优惠券服务、用户服务
商品服务:
    Group:com.atguigu.gulimall
    Artifact:gulimall-product
    Des ription:谷粒商城-商品服务
    Package:com.at+guigu.gulimall.product
仓储服务:
    Group:com.atguigu.gulimall
    Artifact:gulimall-ware
    Des ription:谷粒商城-仓库服务
    Package:com.atguigu.gulimall.ware
订单服务:
    Group:com.atguigu.gulimall
    Artifact:gulimall-order
    Des ription:谷粒商城-订单服务
    Package:com.atguigu.gulimall.order
会员服务:
    Group:com.atguigu.gulimall
    Artifact:gulimall-member
    Des ription:谷粒商城-优惠券服务
    Package:com.atguigu.gulimall.member
优惠券服务:
    Group:com.atguigu.gulimall
    Artifact:gulimall-coupon
    Des ription:谷粒商城-优惠券服务
    Package:com.atguigu.gulimall.coupon

 】
    至此呢,我们个个微服务就创建完成了,这块提示呢,我们有多个Spring项目,我们让他呢【Show run configurations in Run Dashboard】,显示我们这个Spring的这个控制面板,这样我们以后,在这就可以快速的来启动了。接下来呢,我们将我们gulimall,这个项目呢,设为总项目,来聚合我们这几个小项目,那我们呢,可以随便在某一个项目里边,复制一个pom文件,我们沾到外边,然后呢,我们来修改这个pom文件,我们把这一块呢先都Cancel掉,好,在这一块呢【name】,我们叫gulimall,好,这个模块名呢【artifactId】,也叫gulimall,但是呢,它是一个,咱们这个【description】,聚合,聚合服务,诶,他把我们其他的几个模块聚合起来,他也不需要依赖什么,我们把这些东西都删掉,而且呢,我们把这个也删掉,他的这个类型呢pachaging,它是一个pom,pom呢,来帮我们来,聚合这几个小服务。

    怎么聚合呢,我们来写modules,然后我们一个一个聚合起来,第一个,我们把coupon,包括module,module我们把所有的小模块都聚合起来,这样呢就比较方便,来,还有product,还有gulimall的ware,好。
【【【【【【

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.atguigu.gulimall</groupId>
    <artifactId>gulimall</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>gulimall</name>
    <description>聚合服务</description>
    <packaging>pom</packaging>

    <modules>
        <module>gulimall-coupon</module>
        <module>gulimall-member</module>
        <module>gulimall-order</module>
        <module>gulimall-product</module>
        <module>gulimall-ware</module>
    </modules>

</project>

】】】】】】】】】

    我们相当于使用咱们这个大项目,将这些小项目呢。都聚合起来,最终呢,我们来可以刷新一下。
【右边Maven——刷新 】
    我们将我们的总服务,添加过来,来我们gulimall,好,我们把这个pom添加过来。
【+号——找到项目gulimall——pom.xml——ok】
    我们就发现呢,这是一个ROOT,来去和其他的小模块,这样呢,我们可以,完成比如我们在这【Maven——gulimall——Lifecycle——clean】运行clean命令,那其他的小模块呢,都全部带着一起clean,好,我们发现呢,这一次是成功的。

    接下来呢,我们再来修改总项目的gitignore模板,这呢,我们让,把所有的小项目里边的,一些垃圾文件忽略掉,比如像这些文件,我们都是提交的时候不带的,包括这几个,那最终呢,我们可以来到Version Control里边,我们能看到Unversioned Files,这都是没有进行版本控制的,这些文件,那最终呢,如果我们想要把哪个版本要控制或者想要提交,可以很方便的在这一块提交,当然提交之前,要忽略所有的垃圾文件。

    首先的忽略,我写一个**/,那就是任意路径下我们的这个文件【mvnw】,我们都要忽略掉。
【在gulimall项目的gitignore文件里加上:**/mvnw】
    这样呢,我们来刷新一下,刷新一下,那141呢剩136了,那每一个项目里边的这个mvnw文件,都忽略掉了,像这个颜色的那都是忽略掉的,那还有,同样的mvnw.cmd。
【**/mvnw.cmd】
    好,我们也让他忽略,当然我们是在这设置总文件,我们是设置gulimall这个总的ignore,好我们再来,刷新一下,欸,我们发现又忽略掉一些,然后呢,接下来我们把每一个项目的其他,这个.mvn里边的东西是没什么用的,我们也设置忽略,.mvn。
【**/.mvn】
    好,我们来刷新一下,好,每一个项目又少了很多,然后呢,我们再来把,每一个项目的,我们来看,欸,这些该忽略的都忽略了,但是我们来看啊,如果我在ROOT里边进行compile,进行编译一下。
【右边Maven——gulimall——compile】
    那所有项目呢,都会统一进行编译,那一编译以后呢,每一个项目会生成target目录,这里边的东西,也是不提交的,我们给码云里边只提交我们的源码跟pom文件,那编译后的东西那都是下载来自己编译运行就行了,没必要提交,还是一样,**/下的target,把我们这个target,任意路径下的target下边的所有东西也都是忽略的。
【**/target/】【添加这个以后,Unversioned Files那的数字没变】
    好,我们在这呢,刷新一下,当然,这块呢,忽略设置好了以后,我们再来看,这一块还有一些东西,这几个都是跟代码无关的,我们同样忽略,这个呢idea那就是我们这个修改的总gitignore,跟他同级的整个idea目录我们忽略。
【.idea    直接.idea,不要**/】
    好,来刷新一下,好,然后呢,同样的,把我们的,我们来再来往下看,诶,这一块那就忽略完了,都剩了代码,以给gitignore这些文件,但是这些子模块的gitignore就不想写了就不写了。因为我们的总模块已经都设置了所有都忽略了,好。
【**/.gitignore】
    当然大家可以呢下去把子模块的gitignore删除掉,我们只提交我们有用的代码。
    好,这个代码呢,我们就写好了,我们将这些需要提交的文件,我们可以 选中,把他们Add to VCS,把他们全部纳入版本控制。
【Version Control:——Unversioned File——右键——Add to VCS】
    这样一纳入版本控制呢,只要有文件发生变化,就会在Default Changelist里边,会有显示。
    但我们现在这些文件呢,现在全纳入了版本控制,我们要真正的去来提交,最终提交给我们的码云,但想要把代码提交给码云,我们需要先在这【File——Settings】,安装我们在Settings里边,找Plugins里边,我们来先来安装,码云的插件。欸,叫Gitee,好,大家在这选中安装就行了,我已经提前安装好了, 那想给码云提交代码,怎么提交呢。
    首先,我们需要将我们的这些文件,可以选Commit。
【Version Control:——Default Changelist——右键——Commit】
    Commit呢这是提交,提交呢,当然是提交到本地仓库,比如我们就叫项目,欸,项目初始结构创建。好,这是我们的第一次提交, 当然,提交的时候我们可以把这两个可以取消掉。

Perform code analysis
Check TODO(Show All)Configure

    他要检查分析所有的代码,包括呢,检查哪些没有做,检查这些TODO,来,这些呢我们都不用他分析,我们快速直接一提交。

    我们可以在这,点击提交【Commit】,但他这个提交呢,有一个叫Commit and Push,就是提交并且推送,如果我们点击这个提交【Commit】,只是提交到本地仓库,我们再来点了Push才真正的推送到码云,好,我们点一下,让它呢提交并且推送。
    我们来稍等,好,我们在这儿呢,直接进行推送【Push】,这样呢全部提上去,我们在这稍等我们看他成功还是没成功。只要我们之前配好git,诶,这已经成功了【Push successful】。
    我们来查看码云,我们码云的谷粒商城,我来刷新一下,好,我们码云里边的代码呢,已经全部上来了,这,我们就整个提交完成了,而且呢,我们也可以看到,我们在提交每一个项目里边,我们设置的这些忽略文件,看有没有被提交上去,比如随便点一个,欸发现只提交了src源码文件夹和pom,欸,很干净。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤永红

一分也是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值