Jenkins是什么?

百度百科:
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能

我们知道Jenkins是java开发的,提到是java开发的,一定联想到jdk环境~!

附:Jenkins中文官网

Jenkins解决的痛点

不妨思考一下:在没有Jenkins的时代,我们的日常开发是怎样的?

平时去开发一个项目
每当修改了功能或者完善了某个功能之后,想要测试一下,就是手动去部署我们的项目。

接触过maven、build 、war包的,手动去build项目,以及手动部署项目

low 、
手动的过程比较麻烦

发生了一些错误的信息,这时候你通常会去手动查看日志信息

有了jenkins:
完善了某个功能,我们只需要进行一部手动操作,就有这样的一个工具来帮我们自动去做哪些事情,甚至还可以做更多的事情。

下载与安装

官网上有两种版本,
稳定版与最新版
工程专题-Jenkins学习之旅_maven
我们一般下载稳定版就可以了,选择你要安装的系统的版本,windows版本是一个msi可安装文件,或者安装war包也可以
msi版本版本安装方式

  • 直接安装

war包版本安装方式

  • 运行命令 java -jar jenkins.war --httpPort=8080
  • tomcat启动,直接扔到webapp/下,然后tomcat启动./start.sh

登录界面功能介绍

初始化安装后要设置密码,我们打开提示的文件,将密码粘贴过来,下一步工程专题-Jenkins学习之旅_工程专题_02
点第一个,推荐安装的插件:
工程专题-Jenkins学习之旅_maven_03
等待安装Jenkins插件完成:
工程专题-Jenkins学习之旅_github_04
然后设置密码:
工程专题-Jenkins学习之旅_工程专题_05
成功部署:
工程专题-Jenkins学习之旅_工程专题_06
进入初始化界面:
工程专题-Jenkins学习之旅_工程专题_07

Jenkins工作流程

当我们将代码上传到Jenkins上时,需要Jenkins帮我们自动构建,但是代码的运行的环境是不一样的,比如需要maven,需要tomcat等运行环境,怎么办呢?
Jenkins集成了大量的第三方插件,Jenkins也支持写入脚本,
工程专题-Jenkins学习之旅_工程专题_08

拉取代码

我们首先创建一个项目:
工程专题-Jenkins学习之旅_maven_09
这里选择我们的freestyle:
工程专题-Jenkins学习之旅_Jenkins_10
然后是配置页面,这里有几个选项卡:
工程专题-Jenkins学习之旅_工程专题_11
general,暂时用不上,我们这里暂时不设置:
工程专题-Jenkins学习之旅_工程专题_12
源码管理:
让该任务对应到某个远程上面的代码,github、码云、gitlab
在git界面填写github项目地址。
工程专题-Jenkins学习之旅_github_13
这里可以配置svn或是git仓库
我这里使用的是git
这里如果是http形式,则无需填写Credentials,否则是ssh形式,则需要填写git本地环境(与Jenkins同机器)的私钥。

因为我这里是同时配置的github与gitlab:
工程专题-Jenkins学习之旅_maven_14
所以讲id_rsa_github里的全部内容(私钥)粘贴到Credentials配置项上,如图:
工程专题-Jenkins学习之旅_git_15

构建前:
工程专题-Jenkins学习之旅_maven_16
可以做Jenkins脚本
构建:
工程专题-Jenkins学习之旅_Jenkins_17
构建后:
工程专题-Jenkins学习之旅_git_18
可以设置构建成功发送邮件通知等

项目构建和发布

我们需要配置Jenkins本地环境的基本配置。
可以理解为,Jenkins需要的全局配置。我们让Jenkins从github上自动拉取代码,是需要配置git的。我们让Jenkins自动编译代码,是需要maven的。以此类推,这里我们做一下配置。
http://localhost:8888/configureTools/
配置jdk:这里我选择从本地环境jdk引入,当然你可以选择install auto(从官网上直接下载)
工程专题-Jenkins学习之旅_git_19
然后配置git(这里我们需要配置本地公钥,将公钥放在git上,具体操作流程可以参考我往期的文章):
工程专题-Jenkins学习之旅_maven_20
配置maven:
工程专题-Jenkins学习之旅_Jenkins_21

webhook配置

我们在github推代码的时候,让Jenkins自动构建,并发布
工程专题-Jenkins学习之旅_github_22
然后带着这里地址去访问github:
工程专题-Jenkins学习之旅_github_23
完毕!