配置GitHub Push自动触发Jenkins的构建
这里以gitbook的项目为例,GitHub中的gitbook项目部署在Jenkins中,执行git push命令时自动执行Jenkins构建,其他项目只是最后的执行脚本不同
环境准备
- 安装Jenkins,详情见Jenkins安装
- 配置Jenkins插件,Git,GitHub的一些相关插件
- 安装gitbook,见gitbook 安装,如果你的项目不是gitbook的,这个可以不用安装
获取GitHub的Personal access token
- 进入GitHub,点击
setting,进入setting页面,点击左下角的Developer settings,如下图:

- 跳转到”Developer settings”页面后,点击左下角的
Personal access tokens,如下图:

- 跳转到”Personal access tokens”页面后,点击右上角的
Generate new token按钮,如下图:

- 可能会提示输入GitHub密码,输入后跳转到创建token的页面,如下图所示,随便输入
Token description,再勾选repo和admin:repo_hook,再点击底部的Generate token按钮,就能产生一个新的access token,将此字符串复制到记事本,后面jenkins任务中会用到(注意:关闭这个页面就找不到这个字符串了):

配置Jenkins
- 进入系统设置:

- 在系统设置页面找到”GitHub”,点击
添加GitHub Server,如下图,名称随便起,API URL填写https://api.github.com,凭据位置如下图红框所示,选中管理 Hook选择Add->Jenkins:

- 弹出的页面中,
类型选择Secret text,Secret填入前面在GitHub上生成的Personal access tokens,描述随便写一些描述信息,点击添加完成添加.如下图:

- 填写完毕后,点击右侧的
连接测试按钮,如果信息没有填错,显示的内容如下图所示:

- 点击页面最底部的
保存按钮
GitHub的项目主页和仓库地址
项目主页和仓库地址是不同的,如下图,红框1中是项目主页,点击红框2的按钮后,红框3中是仓库地址(要用HTTPS的,不用SSH 的):

我的项目主页:https://github.com/Mingyue12345/OpenAPI-doc
我的仓库地址:https://github.com/Mingyue12345/OpenAPI-doc.git
Jenkins中新建构建项目
在Jenkins上新建一个名为 “openapi-doc” 的项目

接下来对Jenkins项目进行配置
源码管理设置

上图中每个红框的设置如下解释:
- 选择
Git Repository URL输入仓库地址:https://github.com/Mingyue12345/OpenAPI-doc.gitCredentials创建一个Credentials,类型选择Username with password,Username输入GitHub账号,Password输入GitHub密码,描述随便输入,如下图源码库浏览器选择githubwebURL输入项目主页:https://github.com/Mingyue12345/OpenAPI-doc

构建触发器
构建触发器中勾选GitHub hook trigger for GiTScm polling,如下图

构建环境和绑定
如下图所示,勾选Use secret text(s) or file(s),下面的”凭据”选择我们之前配置过的Personal access tokens

构建
设置构建脚本,这里选择 执行 Shell,gitbook的项目可以这样配置,详细介绍如下:
- 执行
gitbook build生成静态页面 - 将
_book文件夹下的所有文件复制到tomcat安装目录的/webapps/test/ - 浏览器访问tomcat服务器的http://ip:8080/test就可以查看这个书籍了

配置GitHub的webhook地址
webhook是通知Jenkins时的请求地址,用来填写到GitHub上,这样GitHub就能通过该地址通知到Jenkins;
假设登录Jenkins的地址是: http://192.168.0.1:8080/jenkins,那么webhook地址就是 http://192.168.0.1:8080/jenkins/github-webhook
- 登录GitHub,进入要本次构建用到的工程;
- 在工程主页面点击右上角的
Settings,再点击左侧Webhooks,然后点击Add webhook,如下图:

- 在
Payload URL位置填入webhook地址,再点击底部的Add webhook按钮,这样就完成webhook配置了,今后当前工程有代码提交,GitHub就会向此webhook地址发请求,通知Jenkins构建
测试
可以先在Jenkins的项目页面点击立即构建手动执行一下构建,如果成功的话,可以测试一下执行push命令以后能不能自动构建
配置GitHub Push自动触发Jenkins的构建的更多相关文章
- 配置GitLab Push 自动触发Jenkins构建
配置GitLab Push 自动触发Jenkins构建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客是对之前的笔记:https://www.cnblogs.com/yin ...
- 配置Gitlab Push自动触发jenkins构建
一. 下载gitlab plugin Jenkins>插件管理 下载并安装gitlab plugin 二. 配置gitlab认证 路径Jenkins>Credentials>Syst ...
- 如何创建一个项目,让gitlab自动触发jenkins进行构建
前进是:你已经配置好jenkins+gitlab自动化布置了,这里只是常规构建新的项目时,需要做的配置,记录下来,以免忘了又着急 参考这篇博客: https://www.jianshu.com/p/e ...
- Gitlab自动触发Jenkins构建打包
一.目的 在部门的测试环境中,开发人员一旦向gitlab仓库提交成功代码,gitlab就会自动触发jenkins构建项目.当然在构建后还可以添加项目部署或者自动化测试的脚本.这里只针对测试环境. 二. ...
- GitLab 自动触发 Jenkins 构建
GitLab 是当前应用非常广泛的 Git Hosting 工具,Jenkins 是非常牛逼的持续集成工具.尽管 GitLab 有内建的 GitLab CI,但它远没有 Jenkins 那么强大好用. ...
- Gitlab自动触发Jenkins构建项目
Gitlab自动触发Jenkins构建项目 一.前提 Gitlab已安装配置好. Jenkins已安装Gitlab plugin. 二.配置jenkins中Job 1.勾选触发器下的gitlab触发器 ...
- Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送
实现Gitlab事件自动触发Jenkins构建及钉钉消息推送 实践环境 GitLab Community Edition 12.6.4 Jenkins 2.284 Post build task 1. ...
- Git提交代码自动触发JenKins构建项目
1.需求场景 用户提交代码后自动触发jenkins构建项目 流程图如下: 2.JenKins安装Gitlab Hook Plugin插件 3.JenKins配置 4.Gitlab Hook Plugi ...
- gitlib配置push后自动触发jenkins构建sonar扫描
jenkins所用到的插件: Gitlab Hook Plugin 配置步骤 1.先进入gitlab的个人设置,生成api token 2.复制生成的访问令牌,打开jenkins的凭据,添加选择类型是 ...
随机推荐
- 纯CSS编写汉克狗
1,CSS中原生的变量定义语法是:--*,变量使用语法是:var(--*),其中*表示我们的变量名称:在CSS变量命名中,不能包含$,[,^,(,%等字符,普通字符局限在只要是“数字[0-9]”“字母 ...
- Kail Linux的安装方法
众所周知,kail 是一个基于Debian的Linux发行版,它的目标就是为了在一个实用的工具包里尽可能多的包含渗透和审计工具 kail就实现了这个目标,里面包含有很多关于安全测试的开源工具,如果现在 ...
- 仿微信未读RecyclerView平滑滚动定位效果
效果图有红点的地方表示有未读消息,依次双击首页图标定位,然后定位到某个未读在手动下滑一点距离在次点击定位效果 用过 RecyclerView 的人都知道,自带有几个滚动到item下标的方法,但是不靠谱 ...
- node.js微信小程序配置消息推送
在开发微信小程序时,有一个消息推送,它的解释是这样的. 消息推送具体的内容是下面的这个网址 https://developers.weixin.qq.com/miniprogram/dev/fra ...
- SQL SERVER 排查脚本
随着数据量和并发量的增大,数据库有时会遇到CPU,内存,IO 性能问题:整理了一下有关排查数据相关的SQL脚本,以便排查问题之用: 1,哪些SQL 消耗CPU /* 查看哪些SQL语句消耗CPU,找 ...
- Java:全局变量(成员变量)与局部变量
分类细则: 变量按作用范围划分分为全局变量(成员变量)和局部变量 成员变量按调用方式划分分为实例属性与类属性 (有关实例属性与类属性的介绍见另一博文https://blog.csdn.net/Drag ...
- Linux学习历程——Centos 7 chown命令
一.命令介绍 Linux是多人多工操作系统,所有的文件皆有拥有者.利用 chown 将指定文件的拥有者改为指定的用户或组, 用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改 ...
- console.table(),在控制台以表格形式输出对象
今天给大家安利一个属性,console.table(). 它的作用在控制台以表格的形式显示object.这样看起来是不是更方便了呢. var aaa = [ {index:0,name:"1 ...
- win7系统IE浏览器主页被搜狗篡改问题的解决方法
IE浏览器使用一段时间后可能大家就会遇到主页被篡改的问题,篡改之后主页就变成了搜狗页面,我们常用的百度搜索也变成了搜狗搜索,这不仅使得我们操作起 来不习惯,使用起来也会感觉非常别扭.那如果在使用IE浏 ...
- from语法导入
"""# 在执行文件中能不能直接使用模块中的名字 # import m1# import m1 as m# print(m1.a)# print(m1.b)# print ...