使用 Jenkins 构建 Coding 项目 (资源)

Jenkins简介

       Jenkins是一种跨平台的持续集成和交付的应用软件,它便于不断稳定地交付新的软件版本,并提升你的工做效率。这款开发运维工具还让开发人员更容易把项目的变化整合起来,并使用大量的测试和部署技术。php

    Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。前身是Hudson是一个可扩展的持续集成引擎。可用于自动化各类任务,如构建,测试和部署软件。容许持续集成和持续交付项目,不管用的是什么平台,能够处理任何类型的构建或持续集成。html

 

    Jenkins能实时监控持续集成过程当中所存在的问题,提升详细的日志文件和提醒功能,用图表的形式,形象地展现项目构建的趋势和稳定性。java

使用 Jenkins 构建 Coding 项目

 

Jenkins 是一个用 Java 编写的开源的持续集成工具。它运行在 Servlet 容器中(例如 Apache Tomcat)。它支持软件配置管理(SCM)工具(包括 AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase 和 RTC),能够执行基于 Apache Ant 和 Apache Maven 的项目,以及任意的 Shell 脚本和 Windows 批处理命令。git

使用 Jenkins 构建 Coding 项目是利用 Webhook 向 Jenkins 服务器发送请求。Jenkins 接收到 Webhook 请求后,进行构建。要实现以上功能须要使用 Jenkins 的插件来实现,Jenkins Coding Webhook Plugin 是经过 Jenkins Gitlab Webhook 插件修改而得。安装后便可响应 Coding 的 Webhook 请求。github

CI/CD:持续集成,持续交付/持续部署web

 

持续集成

 

    CI(Continuous Integration):软件工程流程,能够帮助开发人员更加频繁地将代码更改合并到共享分支或“主干”中。一旦开发人员对应用所作的更改被合并,系统就会经过自动构建应用并运行不一样级别的自动化测试(一般是单元测试和集成测试)来验证这些更改,确保这些更改没有对应用形成破坏。这意味着测试内容涵盖了从类和函数到构成整个应用的不一样模块。若是自动化测试发现新代码和现有代码之间存在冲突,CI 能够更加轻松地快速修复这些错误。sql

 

    就是说只要开发人员提交新的代码,Jenkins就会马上将新代码与旧代码进行合并构建测试。肯定新代码与原代码是否能够集成在一块儿。docker

持续部署数据库

 

    CD(Continuous Deployment):是持续交付的下一步,若是代码经过评审之后自动部署到生产环节中。在持续交付的基础上,自动部署到生产环境中。处于业务考虑,也能够选择不部署。要想持续部署,必须先实施持续交付。ubuntu

Jenkins 版本

在 Jenkins 插件库里标记的,对 Jenkins 的版本依赖是 1.625.3。 在我司吃本身的狗粮的实践中,目前使用 Jenkins 版本为 2.67。(稳定版为 2.60 / 2.73

安装配置 Jenkins Coding Webhook Plugin

  1. 安装

    登录到您的 Jenkins 服务器。选择『系统管理』。

    点击『管理插件』

选择『可选插件』,在右上方 『过滤』框中,输入『coding』,便可看到『Coding Webhook Plugin』。 勾选后,点击下方的『直接安装』。若是没有搜索到结果,能够点击右下方的『当即获取』,获取后便可看到。

若是搜索不到,还能够前往 这里 下载,进行手动安装。

下面介绍手动安装的方法:

进入插件列表,选择上方『高级』标签 

在『高级』标签下,上传插件栏中点击选择文件,选中 coding-wehook.hpi

点击『上传』按钮,便会自动上传后安装。

2 . 配置项目

在 Jenkins 中选择新建项目

 

进入项目配置页面,在源码管理下选择 Git,并填入项目地址,以及认证的形式。

在构建触发器栏中选择『收到 Coding 发送过来的请求时触发构建』,并填入相应的选项。

若是须要根据 Merge Request 的构建,先点击右侧的问好。

会展开提示信息。

根据提示信息,回到源码管理中,点击『高级』,在 Refspec 中填入+refs/heads/*:refs/remotes/origin/* +refs/merge/*/MERGE:refs/remotes/origin/merge/* ,若是是公开项目,则填入+refs/heads/*:refs/remotes/origin/* +refs/pull/*/MERGE:refs/remotes/origin/pull/*

最后能够添加构建的脚步。

在 Coding 中配置 Webhook

回到 Coding 中,在项目的设置中选择添加 Webhook。

添加成功后,便可。

这时,咱们提交一个 Merge Request。

再回到 Jenkins 中,便可看到项目构建的信息。

Jenkins邮件配置

经过控制信息能够查看每一个JOB工程构建的状态

借助 Jenkins Email插件实现网站构建完成,自动发送邮件给相应的开发人员,开发人员,或者测试人员。

Jenkins发送邮件须要安装Email邮件插件,Email-ext、Token-macro和Email-template.

Jenkins Email邮件配置常见参数:

SMTP server                         邮件服务器的地址

Default Content Type              内容展示的格式,通常选择HTML

Default Recipients                       默认收件人

Use SMTP Authentication          使用SMTP身份验证

User Name                                邮件发送帐户的用户名

          基于 Jenkins 自动部署网站的流程大体分为:需求分析----原型分析---开发代码---提交测试---- Jenkins内网部署---确认上线--- Jenkins  备份数据--- Jenkins 外网部署--发布完毕--- Jenkins网站测试等,若是发现外网部署的代码有异常,能够经过 Jenkins及时回滚,如图

 

常见问题 :

一、用jenkins怎么实现发布和回滚?

回答:发布:jenkins配置好代码路径(SVN或GIT),而后拉代码,打tag。须要编译就编译,编译以后推送到发布服务器(jenkins里面能够调脚本),而后从分发服务器往下分发到业务服务器上。

回滚:按照版本号到发布服务器找到对应的版本推送

 

 

连接 :

(易百教程)  Jenkins教程  : https://www.yiibai.com/jenkins/

Jenkins使用简易教程 (安装配置) :  https://www.jianshu.com/p/b524b151d35f

(w3c school)Jenkins官方文档   : https://www.w3cschool.cn/jenkins/

使用Jenkins进行持续集成   :    https://www.liaoxuefeng.com/article/001463233913442cdb2d1bd1b1b42e3b0b29eb1ba736c5e000

 

Jenkins介绍:Jenkins使用教程      : https://www.2cto.com/kf/201712/707935.html

Jenkins入门教程之--Jenkins管理  : https://yq.aliyun.com/ziliao/321229

Jenkins   系列   :  https://yq.aliyun.com/wenzhang/blog_2636?spm=a2c4e.11155472.0.0.2ab86b04oK6x8g

Jenkins部署Maven项目到Tomcat.txt  :  http://www.voidcn.com/code/p-qdirodfe-q.html

Jenkins   系列     :  https://testerhome.com/search?q=Jenkins

Jenkins安装和配置 (ubuntu16.04)  :https://www.jianshu.com/p/1a7f46896c40

Linux下安装配置Jenkins              :        http://blog.51cto.com/fangwei009/2087624

实战Jenkins+SVN+tomcat持续集成发布             :         http://blog.51cto.com/fangwei009/1977933

Centos7.3系统下搭建Jenkins+ant+Jmeter持续集成自动化搭建步骤       :         http://blog.51cto.com/fangwei009/1954030

Jenkins+Ant+Jmeter搭建持续集成的接口测试平台(转)      :      http://blog.51cto.com/fangwei009/1952504

jenkins实现自动化部署及服务重启-初级             : http://blog.51cto.com/vekergu/1627955

 

JMeter学习(三十七)Jmeter录制手机app脚本      :        http://blog.51cto.com/fangwei009/1911634

ant+jmeter 在Linux环境下接口自动化测试环境搭建(2)      :     http://blog.51cto.com/fangwei009/1911218

ant+jmeter+Jenkins接口自动化测试实战(1)         ;           http://blog.51cto.com/fangwei009/1910388

jmeter下载及安装配置       :      http://blog.51cto.com/fangwei009/1910385

Windows下ant环境搭建        :      http://blog.51cto.com/fangwei009/1910384

 

持续集成接口自动化-jmeter+ant+jenkins(一)        : http://blog.51cto.com/fangwei009/1906033

Jenkins+Jmeter+Ant自动化集成环境搭建              :         http://blog.51cto.com/fangwei009/1906030

windows下安装jenkins           : http://blog.51cto.com/fangwei009/1882542

Jmeter分布式压测    :       http://blog.51cto.com/fangwei009/1886976

使用JMeter建立数据库(Mysql)测试     :    http://blog.51cto.com/fangwei009/1877567

JMeter建立FTP测试服务器上传下载性能       : http://blog.51cto.com/fangwei009/1866834

使用Jmeter进行http接口测试         :         http://blog.51cto.com/fangwei009/1773724

JMeter安装教程       :      http://blog.51cto.com/fangwei009/1751611

 

 

windows服务器部署多个不一样端口的tomcat      :     http://blog.51cto.com/fangwei009/1857337

windows查看端口占用以及关闭相应的进程 : http://blog.51cto.com/fangwei009/1854142

Jenkins与Docker的自动化CI/CD实战            :  https://mp.weixin.qq.com/s/gZl9nQuPtMsekjNBcdfE8g

 

jenkins 按标签发布   : http://blog.51cto.com/sgk2011/1927169

jenkins实战安装java maven项目   : http://blog.51cto.com/sgk2011/1926750

jenkins实战之发布一个php小的项目   : http://blog.51cto.com/sgk2011/1926295

jenkins的安装配置 置顶  : http://blog.51cto.com/sgk2011/1926270

Jenkins+Maven+SVN+Nexus 搭建持续集成环境  :  http://blog.51cto.com/abcdocker/2137268

Jenkins 自动化部署上线         :   http://blog.51cto.com/abcdocker/2136114

Jenkins (8篇)  ; https://www.cnblogs.com/sparkdev/tag/CI%2FCD/

 

053-Jenkins : https://mp.weixin.qq.com/s/1fN3fbq9jO9lGzEz2-igGw

Jenkins  系列 : https://www.cnblogs.com/fawaikuangtu123/category/1386781.html

CentOS 7 Gitlab+Jenkins持续集成+自动化部署     :   https://www.cnblogs.com/bigdevilking/p/9544476.html

CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境 :https://www.cnblogs.com/bigdevilking/p/9543092.html

CentOS 7 部署GitLab : https://www.cnblogs.com/bigdevilking/p/9539368.html

详解 Jenkins 自动化部署平台  :  https://mp.weixin.qq.com/s/Gnqsrh_UIarsd2det7WOkA

sonar+Jenkins 构建代码质量自动化分析平台https://mp.weixin.qq.com/s/UuvsM-p8xveNlgkv9OC51Q

相关文章
相关标签/搜索