Java-Python-Django社区程序员金系——Devops

【Jenkins 学习笔记】玩转持续集成与持续交付

2018-08-05  本文已影响16人  苍云横渡

原文目录:https://www.cloudcrossing.xyz/post/52/

1 Jenkins 概述

Jenkins 是一个开源软件项目,是基于Java开发的一种可拓展持续集成工具,主要用于持续、自动地构建 / 测试 / 集成软件项目以及监控一些定时执行的任务

Jenkins拥有的特性包括:


2 持续集成

持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。一个标准的持续集成系统能做到

部署一个 CI 系统需要的最低要求是,一个可获取的源代码的仓库,一个包含构建脚本的项目。下图概括了CI系统的基本结构:

该系统的各个组成部分是按如下顺序来发挥作用的:

而 Jenkins 就是这样一个 CI 系统


3 JavaEE 项目部署方式对比

手动部署

自动部署

“自动化” 的具体体现:向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是最新的应用程序

搭建上述持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻工作量。对于程序员的日常开发来说不会造成任何额外负担——自己把代码提交上去之后,服务器上运行的马上就是最新版本——一切都发生在无形中


4 Jenkins + Git 持续集成环境搭建

4.1 系统结构总述

4.2 测试项目 与 版本控制子系统

使用 IDEA 创建一个 基于 Maven 的 JavaWeb 项目并上传到 GitHub 中(我已经将项目上传到 https://github.com/laiyuancai/HelloWorld

至于怎么创建项目和上传到 GitHub 这里就不一 一赘述了,下面给出参考网址

4.3 应用发布子系统

即创建一个 Linux 虚拟机,并安装好 jdk、maven、git 、Tomcat。这里也不一 一赘述了,下面给出参考网址

4.4 Jenkins 主体程序安装配置

首先 下载 Jenkins ,将 jenkins.war 放在 Tomcat 的解压目录下的 /webapps 目录下

启动 Tomcat 并访问 http://虚拟机IP:8080/jenkins

依照网页上的提示填入文件内容(也是 admin 的密码),点继续

选择【安装推荐的插件】

如果某些插件安装失败,重试即可。接着可以新建账号或者以管理员身份继续,这里新建一个管理员账号

开始使用 Jenkins !

4.5 系统初始化设置

点击左侧【系统管理-全局安全配置】

点击左侧【系统管理-全局工具配置】,设置 Maven 的 settings.xml 的默认路径和全局默认路径,JDK 的别名和环境变量 JAVA_HOME (注意去掉自动安装的勾选),Git 的别名和 Git 的可执行文件路径(注意去掉自动安装的勾选)

继续在全局工具配置页面,配置 Maven 的路径,最后点击【保存】(如果有 Gradle / Docker 的可以继续配置)

4.6 安装插件

点击【管理插件】,然后选择【可选插件】,找到【Deploy to container】,选择【直接安装】

4.7 创建工程

1、点击【新建任务】,输入项目名称,选择【构建一个自由风格的软件项目】,最后点【确定】

2、确定之后来到项目设置页面,点击【源码管理】,选择 【Git】,首先填入仓库的 URL ,然后点击 【Add】,选择【jenkins】,添加 GitHub 的账号密码,然后选择你所添加的 GitHub 的【凭证】

PS:这里指定的仓库地址是要定位到【pom.xml】文件所在的文件夹,因为 Jenkins 就是到项目根目录下查找【pom.xml】的

3、点击项目设置页面中的【构建】,选择【Invoke top-level Maven targets】

然后选择指定 Maven 的版本,最后在【Goals】中指定执行的 Maven 构建命令

4、点击项目设置页面中的【构建后操作】,选择【Deploy war/ear to a container】

在【WAR/EAR files】中填入 war 包以项目根目录为基准的相对路径,然后【Context path】中填入浏览器访问项目时使用的项目名,然后点击【Add Container】指定一个容器,并添加 Tomcat 的登录凭证,指定 Tomcat URL

最后点击【保存】

5、保存之后来到了项目界面,目前不能点工作区,因为里面没有文件。我们先点【立即构建】生成工作区

PS:在 jenkins 中,其使用天气状况来表示构建成功率

6、点击项目中的【配置-构建触发器】

远程触发的基本原理是 Git 服务器给 Jenkins 项目特定的 URL 地址发送请求,
但必须以请求参数的形式携带一个特定值,这个特定值就是这里的 “身份验证令牌”

假设

那么最终的访问地址就是:http://192.168.70.131:8080/jenkins/job/HelloWorld/build?token=CLOUD_TOKEN

触发访问地址中 Jenkins 访问地址是根据实际情况改变的,项目名称根据实际
情况改变, 其他都不变

4.8 编辑 Git 版本库钩子程序

现在,只要我们修改了项目文件之后,然后提交到 GitHub 中,jenkins 的自动构建与部署就会自动触发,现在直接刷新 http://192.168.70.131:8080/HelloWorld 就可以看到我们修改的结果啦

上一篇下一篇

猜你喜欢

热点阅读