Jenkins+Maven+SVN+Nexus 搭建持续集成环境
标签(空格分隔): Jenkins
博客地址 www.i4t.com
##一、DevOps
DevOps是“开发”和“运维”的缩写。
DevOps是一组最佳实践强调(IT研发、运维、测试)在应用和服务生命周期中的协作和沟通,强调整个组织的合作以及交付和基础设施变更的自动化,从而实现持续集成、持续部署和持续交付
DevOps平台四大模块
1.项目管理 (创建项目--->>项目需求)
2.运维平台 (监控--日志收集---等)
3.持续交付 (提交完代码--->自动打包--->构建)
4.代码托管 (gitlab---->代码提交)
————————————————————>>DevOps平台
针对DevOps开源项目
1.项目管理---(JIRA非开源但是用的人比较多)、(Redmine使用ruby写的)
2.代码托管---(SVN--usvn有web管理界面)、(GitLab)
3.持续交付---(主流Jenkins)、(GitLab gitlab-ci也可以做交付)
4.运维平台---(国内的开源运维平台可能就是腾讯蓝鲸)
##二、服务介绍
很多事情不是光运维就可以决定的,还需要跟研发交流,我这里只是演示一个大概的持续交付的流程~
2.1 Jenkins介绍
Jenkins
只是一个平台,真正运作的都是插件。这就是jenkins流行的原因,因为jenkins什么插件都有
Hudson
是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,Hudson后来被收购,成为商业版。后来创始人又写了一个jenkins,jenkins在功能上远远超过hudson
maven的核心概念介绍
Pom
pom是指project object Model。pom是一个xml,在maven2里为pom.xml。是maven工作的基础,在执行task或者goal时,maven会去项目根目录下读取pom.xml获得需要的配置信息
pom文件中包含了项目的信息和maven build项目所需的配置
Artifact
这个有点不好解释,大致说就是一个项目将要产生的文件,可以是jar文件,源文件,二进制文件,war文件,甚至是pom文件。每个artifact都由groupId:artifactId:version组成的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库(见Repository)中
Repositories
Repositories是用来存储Artifact的。如果说我们的项目产生的Artifact是一个个小工具,那么Repositories就是一个仓库,里面有我们自己创建的工具,也可以储存别人造的工具,我们在项目中需要使用某种工具时,在pom中声明dependency,编译代码时就会根据dependency去下载工具(Artifact),供自己使用。Build Lifecycle
是指一个项目build的过程。maven的Build
Lifecycle分为三种,分别为default(处理项目的部署)、clean(处理项目的清理)、site(处理项目的文档生成)。他们都包含不同的lifecycle。
Build Lifecycle是由phases构成的…
参考:关于Maven常用参数及说明
**2.3 SVN介绍** SVN是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个固态的跨平台的开源的版本控制系统。SVN版本管理工具管理者随时间改变的各种数据。这些数据放置在一个中央资料档案库`repository`中,这个档案库很像一个普通的文件服务器或者FTP服务器,但是,与其他服务器不同的是,SVN会备份并记录每个文件每一次的修改更新变动。这样我们就可以把任意一个时间点的档案恢复到想要的某一个旧的版本,当然也可以直接浏览指定的更新历史记录。
本站相关文章
SVN服务实战应用指南
VisualSVN 迁移至Linux SVN+Apache+ssl集成LDAP
2.4 Nexus介绍
maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分成了3种:<