安装并使用CICD 工具Jenkins+GitHub、GitLab、BitBucket等完成持续集成部署,这里以GitHub为例

安装并使用CICD 工具Jenkins+GitHub、GitLab、BitBucket等完成持续集成部署,这里以GitHub为例

实验基于Windows平台,其他平台安装请参考官网
在这里插入图片描述
安装完后以Jenkins是以Windows服务运行,默认端口号8080
在这里插入图片描述
修改默认端口号,在安装目录下的jenkins.xml文件中进行修改,这里暂不做修改
在这里插入图片描述

安装完后,默认浏览器会打开访问Jenkins的Web页面,如下图,按照提示一步一步完成即可
在这里插入图片描述
然后进入插件安装页面,这么默认选择,系统推荐安装的插件,后续在安装一些Maven等插件,点击安装推荐插件后,等待安装完成【当然自定义安装也行,可以提交找好自己需要安装那些插件,后续在慢慢添加都行】
在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r3GXGLEr-1590821236684)(C:\Users\CUITLLB\AppData\Roaming\Typora\typora-user-images\image-20200529194600553.png)]

在这里插入图片描述

然后重启后到插件管理去安装一个Maven插件
在这里插入图片描述
这里因为是Springboot的项目,使用Springboot内置的Tomcat,如果是使用外部的Tomcat,或者war工程,需要安装Deploy to Web Container 插件
使用外部Tomcat是注意配置一下Tomcat的编码在server.xml文件中

<Connector port="8080" protocol="HTTP/1.1"
	 connectionTimeout="20000"
	 redirectPort="8443" URIEncoding="UTF-8"/>

全局工具配置:

  • 配置Maven的Settings文件,如果自由有自定义的就配置自己的,否则用默认的
    在这里插入图片描述

  • 配置JDK
    在这里插入图片描述

  • 配置Git
    在这里插入图片描述

  • 配置Maven
    在这里插入图片描述

  • 新建一个自由风格的项目,这里因为已经建立了所有不能重名
    在这里插入图片描述

在这里插入图片描述
点进去进行配置

  • 设置构建的保留策略
    在这里插入图片描述

  • 配置代码仓库的URL链接
    在这里插入图片描述
    如果上面的git仓库连接,在发布是,总是落后一个版本,可能是由于服务器时间差的原因,解决方法
    将链接改为如下
    git@github.com:CUITLLB/springboot-jenkins-demo.git@HEAD

注意:代码的URL在Jenkins上,必须正好定位到pom.xml文件的位置,这里因为git项目不存在这个问题,如果是使用SVN,就需要注意这一点

认证这里需要配置认证远程GitHub仓库的私钥,也可以到认证管理李去配置
在这里插入图片描述+ 选择代码分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IFKCvFeW-1590821236704)(C:\Users\CUITLLB\AppData\Roaming\Typora\typora-user-images\image-20200530141918306.png)]

需要注意的是这里的Jenkins安装由于路径中带有空格,所以要用引号,还有JENKINS_HOME即是Jenkins的安装目录,或者使用变量WORKSPACE,则下面的路径就可以写成%WORKSPACE%\spring-boot-demo\target\jenkins.demo-0.0.1-SNAPSHOT.jar

在这里插入图片描述
这里的maven打包操作省略了,需要就加mvn clean package
在这里插入图片描述
构建后发生邮件配置,Jenkins邮件发送提示配置参考

在这里插入图片描述

点击构建后,控制台输出
在这里插入图片描述

打开浏览器访问
在这里插入图片描述

这里没有配置触发器,一般来说在项目中都不会让他自动触发发布,至少LZ接触的都是手动去发布,当然如果有需求也可以去配置定时触发器发布等功能,或者使用版本管理器SVN,GIThub的钩子函数来触发构建,触发远程构建实际就是请求一个Jenkins中的job的URL,所以只需要在构造函数中使用curl、或者httpie命令[这个命令需要额外安装]请求这个job URL即可实现远程构建触发

SVN举例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Linux 的 curl 命令用来发送 HTTP 请求。
-X 参数:指定请求方式
-v 参数:显示响应结果
-u 参数:携带用户名/密码
-H 参数:携带请求消息头信息
curl -X post -v -u [Jenkins 用户名]:[Jenkins 密码] -H "请求消息头信息" http://[服务器 IP 地址]:[服务器端口 号]/jenkins/job/[Jenkins 项目名称]/build?token=[身份验证令牌]

curl -X post -v -u admin:2f6bff33bda14baba83ba1c002045f05 -H "Jenkins-Crumb:88a12946e07d82b3b0d567c7c4610c9a" http://192.168.70.131:8080/jenkins/job/ProOne/build?token=ATGUIGU_TOKEN
在这里插入图片描述
一旦有代码提交,就会触发钩子函数调用Job,从而实现自动部署

Jenkins2.x开始支持Pipeline的形式构建和发布项目,具体学习使用参考

Jenkins中文官网

同时Jenkins也支持Docker安装和使用,同样参考官网说明

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值