版本控制
2022-07-30 21:07:28 0 举报
AI智能生成
maven 等版本总结
作者其他创作
大纲/内容
下载maven
解压maven
设置环境变量MAVEN_HOME=xxxxxx;path=;%MAVEN_HOME%\\bin;
有的系统使用M2=xxxxxx; path=;%M2_HOME%\\bin;
命令行echo %M2_HOME%或echo %MAVEN_HOME%检查路径是否正确
mvn -version 检测环境是否配置
maven安装
src\\main\\java放源文件
src\\main\esources存放资源文件
src\\test\\java放测试文件
src\\test\esources放测试资源文件
target存放打包的文件和测试相关文件
POM(project object model,项目对象模型)
mvn项目的存放目录
C:\\Users\\mocha\\.m2\epository
本地默认maven仓库
修改setting.xml
<localRepository>D:\\1-maven_repository</localRepository>
修改maven仓库路径
初级使用
com.lisa.health.data
G : groupId
health-data-pom
A : artifactId
0.0.1-SNAPSHOT
总版本号:一般指框架中有大变动
分支版本号:增加了一些功能
小版本号:在分支版本号基础上修复了一些bug
snapshot(开发未测试)
alpha(内测版本)
beta(公测版本)
release(稳定版)
ga(generally available)用户可放心使用版本
里程碑版本号
总版本号.分支版本号.小版本号-里程碑版本号
V : version
坐标
把一个项目拆分模块,多人开发
用户模块
账单模块
支付模块
按业务拆分
user-core
user-service
user-dao
按开发模块拆分
Service依赖于dao,dao依赖于core。service对core是传递性依赖。
传递性依赖的范围和第一直接依赖的范围一致
编译依赖范围。对编译、测试、运行都有效。
compile
依赖不会传递
只对测试有效
test
只传递第一依赖范围也为provided的依赖,传递依赖范围也是provided
对编译和测试有效
打war包时,不会打包
provided
传递性依赖的范围与第一直接依赖的范围一致
只对运行有效
runtime
跟provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。
system
依赖范围
依赖关系
maven pom项目
maven module项目
聚合
modelVersion:当前pom版本
groupId:反写的公司网址+项目名
artifactId:项目名+模块名
snapshot快照
alpha内部测试
beta公测
Release稳定版本
GA正式发布
version
jar(默认)
war
zip
pom
packaging
name:项目描述名
url:项目地址
description:项目描述
developers:开发人员列表
licsence许可证
groupId
artifactId
type
scop
true
false(默认)
optional:设置依赖是否可选
exclusion
exclusions:排除依赖传递列表
dependency
dependencies
dependencyManagement:依赖管理,定义在父模块供子模块继承
plugin
plugins:插件列表
build:为构建行为提供支持
parent:继承父模块
module
modules:指定多个模块一起编译
maven读取变量属性(${} )
pom常见元素
基础
Releases
Snapshot
中央仓库里的没有包
一般指我们内部开发,只对内网,可以上传
3rd party
Hosted
Virtual
中央仓库下载的包全部放到此下
central
apache专属存储
apache snapshots
codehaus专属存储
codehaus snapshots
proxy
将多个工厂分成组
方便操作
group
类型
只考虑自己的当前项目,不考虑其他项目
考虑当前项目,又考虑以后开发情况
注意:不要配置maven安装目录下的setting.xml
配置私有仓库
所有开发人员通过我设置的地址访问仓库
配置在settings的Mirror节点
D:\\maven\\apache-maven-3.1.0\\apache-maven-3.1.0\\lib\\maven-model-builder-3.1.0.jar
修改jar包内\\org\\apache\\maven\\model\\pom-4.0.0.xml
便于维护工厂
一种约定
配置镜像
POM设置
授权
发布项目到私有仓库
为自己的项目搭建专属性仓库
场景分析
私有仓库
清理-编译-测试-打包-集成测试-验证-部署
完整的项目构建过程
pre-clean执行清理前的工作
clean清理上一次构建生成的所有文件
post-clean执行清理后的文件
clean清理项目
package
install
default构建项目(核心)
pre-size生成项目站点前要完成的工作
site生成项目的站点文档
post-site在生成项目站点后要完成的工作
site-deploy发布站点到服务器上
site生成项目站点
maven中定义三套独立的生命周期
生命周期
jetty插件
sql插件
源码打包插件
不用插件,用这个命令也一样clean source:jar
maven source plugin插件
改变编译环境
区分开发环境和生产环境
maven-compiler-plugin插件
将项目打包成rar
maven-rar-plugin插件
maven-war-plugin
测试一些不是符合规范的测试类
建议还是按规范编写
测试覆盖率
mav-surefire-plugin插件
corbertura-maven-plugin插件
插件
手动发布web项目
Tomcat本地部署
Tomcat远程部署
cargo
Maven打包:去掉项目版本号
部署项目
maven
集中式版本控制
svn
git init
创建版本库
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
版本回退
工作区(Working Directory)就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
版本库(Repository)
工作区和暂存区
管理修改
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销
用命令git reset HEAD 可以把暂存区的修改撤销掉(unstage),重新放回工作区:
撤销修改
一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
删除文件
时光穿梭机
git remote add origin git@github.com:michaelliao/learngit.git
git push -u origin master
添加远程库
git clone git@github.com:michaelliao/gitskills.git
从远程库克隆
远程仓库
创建和合并分支
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
git log --graph --pretty=oneline --abbrev-commit
解决冲突
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
git merge --no-ff -m \"merge with no-ff\" dev
分支管理策略
管理过程
git stash
git stash list
bug分支
开发一个新feature,最好新建一个分支;如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。
Feature分支
多人协作的工作模式
多人协作
Rebase
分支管理
git tag -a v0.1 -m \"version 0.1 released\" 1094adb
创建标签
操作标签
标签管理
git
持续集成
Jenkins
docker出现的思想来自于集装箱
docker 的核心思想,每个箱子都是互相隔离的。
docker 通过隔离的思想,将服务器运用到机制。
隔离
镜像
技术核心
Docker历史
Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。
传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了
每个容器间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响
比较Docker和虚拟机技术的不同
更便捷的升级和扩缩容
更简单的系统运维
更高效的计算资源利用
Docker:打包镜像发布测试一键运行。
概述
镜像(image)
容器(container)
仓库(repository)
Docker的基本组成
入门
常用命令查询
Docker镜像检索
镜像下载
镜像列表
删除镜像
Docker镜像命令
容器基本操作
容器列表
查看运行和停止状态
Docker容器命令
停止容器
启动容器
端口映射
删除容器
容器日志
登录容器
停止和启动容器
Docker常用命令及参数
Docker是怎么工作的?
为什么Docker比Vm快
父主题
底层原理
docker
版本控制
0 条评论
回复 删除
下一页