工程专题-Jenkins学习之旅
Jenkins是什么?
百度百科:
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能
我们知道Jenkins是java开发的,提到是java开发的,一定联想到jdk环境~!
Jenkins解决的痛点
不妨思考一下:在没有Jenkins的时代,我们的日常开发是怎样的?
平时去开发一个项目
每当修改了功能或者完善了某个功能之后,想要测试一下,就是手动去部署我们的项目。
接触过maven、build 、war包的,手动去build项目,以及手动部署项目
low 、
手动的过程比较麻烦
发生了一些错误的信息,这时候你通常会去手动查看日志信息
有了jenkins:
完善了某个功能,我们只需要进行一部手动操作,就有这样的一个工具来帮我们自动去做哪些事情,甚至还可以做更多的事情。
下载与安装
官网上有两种版本,
稳定版与最新版
我们一般下载稳定版就可以了,选择你要安装的系统的版本,windows版本是一个msi可安装文件,或者安装war包也可以
msi版本版本安装方式
- 直接安装
war包版本安装方式
- 运行命令 java -jar jenkins.war --httpPort=8080
- tomcat启动,直接扔到webapp/下,然后tomcat启动./start.sh
登录界面功能介绍
初始化安装后要设置密码,我们打开提示的文件,将密码粘贴过来,下一步
点第一个,推荐安装的插件:
等待安装Jenkins插件完成:
然后设置密码:
成功部署:
进入初始化界面:
Jenkins工作流程
当我们将代码上传到Jenkins上时,需要Jenkins帮我们自动构建,但是代码的运行的环境是不一样的,比如需要maven,需要tomcat等运行环境,怎么办呢?
Jenkins集成了大量的第三方插件,Jenkins也支持写入脚本,
拉取代码
我们首先创建一个项目:
这里选择我们的freestyle:
然后是配置页面,这里有几个选项卡:
general,暂时用不上,我们这里暂时不设置:
源码管理:
让该任务对应到某个远程上面的代码,github、码云、gitlab
在git界面填写github项目地址。
这里可以配置svn或是git仓库
我这里使用的是git
这里如果是http形式,则无需填写Credentials,否则是ssh形式,则需要填写git本地环境(与Jenkins同机器)的私钥。
因为我这里是同时配置的github与gitlab:
所以讲id_rsa_github里的全部内容(私钥)粘贴到Credentials配置项上,如图:
构建前:
可以做Jenkins脚本
构建:
构建后:
可以设置构建成功发送邮件通知等
项目构建和发布
我们需要配置Jenkins本地环境的基本配置。
可以理解为,Jenkins需要的全局配置。我们让Jenkins从github上自动拉取代码,是需要配置git的。我们让Jenkins自动编译代码,是需要maven的。以此类推,这里我们做一下配置。
http://localhost:8888/configureTools/
配置jdk:这里我选择从本地环境jdk引入,当然你可以选择install auto(从官网上直接下载)
然后配置git(这里我们需要配置本地公钥,将公钥放在git上,具体操作流程可以参考我往期的文章):
配置maven:
webhook配置
我们在github推代码的时候,让Jenkins自动构建,并发布
然后带着这里地址去访问github:
完毕!