搭建CICD:Jekins+Maven+git

1、为什么要 用CI / CD
软件开发的连续方法基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性。从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预。它涉及在每次小迭代中不断构建,测试和部署代码更改,从而减少基于有缺陷或失败的先前版本开发新代码的机会。这种方法有三种主要方法,每种方法都根据最适合您的策略进行应用。

持续集成(Continuous Integration, CI): 代码合并,构建,部署,测试都在一起,不断地执行这个过程,并对结果反馈。

持续交付(Continuous Deployment, CD): 部署到测试环境、预生产环境。 

持续部署(Continuous Delivery, CD): 将最终产品发布到生成环境、给用户使用。

经常混淆持续交付和持续部署,持续部署即在持续交付的基础上,把部署到生产环境的过程自动化。

2、Jenkins 介绍

Jenkins 是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目独立。

Jenkins 提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的自由软件。

4、Jenkins 特性
开源的java语言开发持续集成工具,支持CI,CD。

易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。

消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告。

分布式构建:支持Jenkins能够让多台计算机一起构建/测试。

文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。

丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。。

流程说明:

开发人员将代码提交到Git hub 代码仓库时。github 请求Jekins 的webhook 地址,触发代码持续构建和持续部署流程。

Jekins从Git中拉取代码,运行测试用例。并将测试结果通过邮件通知开发和测试。

在Jenkins中配置CI/CD webhook通常涉及以下步骤:

  1. 安装并配置Jenkins的GitHub插件(或对应的源代码管理工具插件)。

  2. 在Jenkins中创建或配置一个项目,并设置源代码管理,以便Jenkins可以监控代码仓库的变化。

  3. 在项目配置中,找到构建触发器部分,并启用“GitHub hook trigger for GITScm polling”。

  4. 配置webhook,在源代码管理服务器(如GitHub)上指向Jenkins的webhook URL。

以下是一个简单的Jenkinsfile示例,用于配置CI/CD流水线:

pipeline {

agent any

triggers {

githubPush()

}

stages {

stage('Build') {

steps {

sh 'mvn clean install'

}

}

stage('Test') {

steps {

sh 'mvn test'

}

}

stage('Deploy') {

steps {

sh 'mvn deploy'

}

}

}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值