1 Jenkins简介
Jenkins
开源
Java开发的 提到是Java开发的,一定联想云心Jenkins jdk环境
持续集成工具,用于监控持续重复的工作
假设没有Jenkins的话会是怎样?
《Git学习之旅》《Maven学习之旅》
平时去开发一个项目
每当修改了功能或者完善了某个功能之后,想要测试一下,就是手动去部署我们的项目。
接触过Maven,Build,war包的,手动去build项目,以及手动部署项目
Low 手动的过程比较麻烦
发生了一些错误的信息,这时候你通常会去手动查看日志信息。
完善了某个功能,我们只需要进行一步手动操作,就有这样一个工具来帮我们自动去做那些事情,甚至还可以做更多的事情。
人类偷懒
有一个官网的介绍,学习一门新的技术,如果不去看官网。
2 Jenkins官网
https://jenkins.io/
3 Jenkins的下载与安装
Windows 平台中,直接双击安装的,比较方便
Jenkins.war web项目 java -jar 命令去执行它/war包直接放到tomcat的web-app下面,启动tomcat
【
必须有java环境,而且这个版本一定要是jdk1.8
】
命令的方式去运行jenkins
java -jar jenkins.war --httpPort=8080
.war扔到tomcat中的情况
4 登录和界面功能介绍
大家平时一般如果在Linux环境中进行安装的话,步骤也是类似
Java环境
这里就是Jenkins帮你去新建一个对应的项目,这个项目就是关联你需要自动build,deploy
Git Maven不知道的话,可以去腾讯课堂上搜索“咕泡学院”,Git学习之旅 Maven学习之旅
具体的内容在后面的视频中还会给大家讲解
5 Jenkins的工作流程
如何帮我们自动完成这些工作的呢?----》Jenkins工作流程
Jenkins中应该有一个类似于“上传”按钮的操作,如果我想要把代码上传到Jenkins中让它帮我来进行自动的build和deploy的操作。
代码 合作开发代码的话,这些代码在每个人的机器上可能是不一样的
代码-----》github/码云/gitlab github拥有的就是最新的代码
6 创建任务和功能介绍
7 拉取代码
让该任务对应到某个远程上面的代码,github,码云,gitlab
在git界面填写github项目的地址
git@github.com:itcrazy2016/gupaogit.git
Failed to connect to repository : Command “git.exe ls-remote -h git@github.com:itcrazy2016/gupaogit.git HEAD” returned status code 128:
stdout:
stderr: ssh: Could not resolve hostname github.com: Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
8 莫慌之思路再梳理
这时候虽然也能跟得上,总觉得缺少了点什么,老师能不能再帮我好好梳理一下。
下载好了Jenkins之后,安装,访问8080端口,管理的账号,密码自己去Jenkins的安装目录寻找
默认会安装一些插件,git,maven,github。如果没有安装成功,你可以进行插件的选择自定义安装。
想要通过git拉去github上面的代码,本地安装了git
git clone git@github.com:itcrazy2016/gupaogit.git:
使用Jenkins拉取代码,本地的git需要配置成功。
ssh key public key
拉取代码
没有拉取成功
(1)git的插件和git的全局管理工具是否已经配置【本地git环境有没有搭建成功】
(2)安全性的考虑,配置一个Credential 证书
没有报错
9 项目构建和发布(上)
(1)新建一个maven的web工程
(2)代码Push到了github上
(3)Jenkins对其进行集成发布
这里可以指定针对不同的分支进行集成发布操作
(4)Maven对其进行了build操作(pre-step,post-step)
(5)项目进行一个发布tomcat容器
a.有一个tomcat容器 本机 远程机器 url
b.有需要发布项目的war maven----->xx.war target---->xx.war
c.把前面的拉取代码和maven构建操作先执行一下 jenkins
10 项目构建和发布(下)
gpjenkins放到了github
Jenkins---->
(1)代码从github上拉取下来
(2)项目进行build maven
(3)需要把这样一个war发布到tomcat上去
(4)看图说话
本地 127.0.0.1:8088 tomcat 但是出于安全性的一个考虑
进行认证 sshkey
A.在tomcat中进行账号的管理
B.需要告诉jenkins你的一个tomcat的账号
持续交付与发布
(1)拉取代码
(2)Maven build
(3)Deploy 容器
需要手动在jenkins中点击立即构建的按钮
自动
11 Webhook的配置
本地:gpjenkins
Github:gpjenkins
本地进行开发,add commit push------>
本地的代码push----github上面
Jenkins----->立即构建(手动)
自动
Push------>触发jenkins的立即构建的操作
也就是github上面一旦收到push代码的请求----->触发立即构建的操作
中间桥梁
Jenkins项目中有一个地址http://localhost:8080/project/gpjenkins
能不能再github上的gpjenkins项目的某个位置,配置上这个url,一旦有push操作的时候,我就希望它能够对应之前jenkins上的url进行触发立即构建
外网和内网需要统一