这里以gitbook的项目为例,GitHub中的gitbook项目部署在Jenkins中,执行git push命令时自动执行Jenkins构建,其他项目只是最后的执行脚本不同

环境准备

  1. 安装Jenkins,详情见Jenkins安装
  2. 配置Jenkins插件,Git,GitHub的一些相关插件
  3. 安装gitbook,见gitbook 安装,如果你的项目不是gitbook的,这个可以不用安装

获取GitHub的Personal access token

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

配置Jenkins

  1. 进入系统设置:
  2. 在系统设置页面找到”GitHub”,点击添加GitHub Server,如下图,名称随便起,API URL填写https://api.github.com,凭据位置如下图红框所示,选中管理 Hook选择Add ->Jenkins:
  3. 弹出的页面中,类型选择Secret text,Secret填入前面在GitHub上生成的Personal access tokens,描述随便写一些描述信息,点击添加完成添加.如下图:
  4. 填写完毕后,点击右侧的连接测试按钮,如果信息没有填错,显示的内容如下图所示:
  5. 点击页面最底部的保存按钮

GitHub的项目主页和仓库地址

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

我的项目主页:https://github.com/Mingyue12345/OpenAPI-doc

我的仓库地址:https://github.com/Mingyue12345/OpenAPI-doc.git

Jenkins中新建构建项目

在Jenkins上新建一个名为 “openapi-doc” 的项目

接下来对Jenkins项目进行配置

源码管理设置

上图中每个红框的设置如下解释:

  1. 选择Git
  2. Repository URL输入仓库地址:https://github.com/Mingyue12345/OpenAPI-doc.git
  3. Credentials创建一个Credentials,类型选择Username with password,Username输入GitHub账号,Password输入GitHub密码,描述随便输入,如下图
  4. 源码库浏览器选择githubweb
  5. URL输入项目主页:https://github.com/Mingyue12345/OpenAPI-doc

构建触发器

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

构建环境和绑定

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

构建

设置构建脚本,这里选择 执行 Shell,gitbook的项目可以这样配置,详细介绍如下:

  1. 执行gitbook build生成静态页面
  2. 将_book文件夹下的所有文件复制到tomcat安装目录的/webapps/test/
  3. 浏览器访问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

  1. 登录GitHub,进入要本次构建用到的工程;
  2. 在工程主页面点击右上角的Settings,再点击左侧Webhooks,然后点击Add webhook,如下图:
  3. 在Payload URL位置填入webhook地址,再点击底部的Add webhook按钮,这样就完成webhook配置了,今后当前工程有代码提交,GitHub就会向此webhook地址发请求,通知Jenkins构建

测试

可以先在Jenkins的项目页面点击立即构建手动执行一下构建,如果成功的话,可以测试一下执行push命令以后能不能自动构建

配置GitHub Push自动触发Jenkins的构建的更多相关文章

  1. 配置GitLab Push 自动触发Jenkins构建

    配置GitLab Push 自动触发Jenkins构建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客是对之前的笔记:https://www.cnblogs.com/yin ...

  2. 配置Gitlab Push自动触发jenkins构建

    一. 下载gitlab plugin Jenkins>插件管理 下载并安装gitlab plugin 二. 配置gitlab认证 路径Jenkins>Credentials>Syst ...

  3. 如何创建一个项目,让gitlab自动触发jenkins进行构建

    前进是:你已经配置好jenkins+gitlab自动化布置了,这里只是常规构建新的项目时,需要做的配置,记录下来,以免忘了又着急 参考这篇博客: https://www.jianshu.com/p/e ...

  4. Gitlab自动触发Jenkins构建打包

    一.目的 在部门的测试环境中,开发人员一旦向gitlab仓库提交成功代码,gitlab就会自动触发jenkins构建项目.当然在构建后还可以添加项目部署或者自动化测试的脚本.这里只针对测试环境. 二. ...

  5. GitLab 自动触发 Jenkins 构建

    GitLab 是当前应用非常广泛的 Git Hosting 工具,Jenkins 是非常牛逼的持续集成工具.尽管 GitLab 有内建的 GitLab CI,但它远没有 Jenkins 那么强大好用. ...

  6. Gitlab自动触发Jenkins构建项目

    Gitlab自动触发Jenkins构建项目 一.前提 Gitlab已安装配置好. Jenkins已安装Gitlab plugin. 二.配置jenkins中Job 1.勾选触发器下的gitlab触发器 ...

  7. Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送

    实现Gitlab事件自动触发Jenkins构建及钉钉消息推送 实践环境 GitLab Community Edition 12.6.4 Jenkins 2.284 Post build task 1. ...

  8. Git提交代码自动触发JenKins构建项目

    1.需求场景 用户提交代码后自动触发jenkins构建项目 流程图如下: 2.JenKins安装Gitlab Hook Plugin插件 3.JenKins配置 4.Gitlab Hook Plugi ...

  9. gitlib配置push后自动触发jenkins构建sonar扫描

    jenkins所用到的插件: Gitlab Hook Plugin 配置步骤 1.先进入gitlab的个人设置,生成api token 2.复制生成的访问令牌,打开jenkins的凭据,添加选择类型是 ...

随机推荐

  1. 【转】Redis一般会遇到的问题以及解析

    单线程的 Redis 为什么这么快 这个问题是对 Redis 内部机制的一个考察.根据我的面试经验,很多人都不知道Redis 是单线程工作模型.所以,这个问题还是应该要复习一下的. 回答主要是以下三点 ...

  2. Java基础-异常、断言

    处理错误 如果Java程序运行期间出现了错误,并且由于出现错误导致某些操作没有完成,程序应该能够返回到一种安全状态,并能够让用户执行一些其他的命令:或者允许用户保存所有操作结果,并以妥善的方式终止程序 ...

  3. PHP信号管理

    PHP信号管理   SIGHUP     终止进程     终端线路挂断 SIGINT     终止进程     中断进程 SIGQUIT    建立CORE文件终止进程,并且生成core文件 SIG ...

  4. 通用查询类封装之Mongodb篇

    查询在应用程序中很重要,花样也特别多,不同得业务需求需要不同的查询条件,还要支持and.or ……事实上也确实如此,程序中有N多个查询类,并且很可能其中有多个类查询同一张表,所以特别想弄一个通用的查询 ...

  5. AFO && OI回忆录

    技不如人,甘拜下风 今天是2019.4.6,联考第一天,菜鸡attack原题爆炸(其实是都不会)心灰意冷(其实并没有很难过)写下了这篇文章 T1 2h写个跟\(k\)无关的假算法写到最后发现是三个lo ...

  6. ios View 向上拉界面源码

    如下的资料是关于ios View 向上拉界面的代码. #pragma mark - 上升效果- (void)ToUpSide {          } - (void)moveToUpSide {   ...

  7. Android项目实战欢迎界面

    欢迎界面 首先同理把欢迎界面的图片导入到drawable目录下,在导入时 Android Studio 会提示如下 drawable 具体本人尚未弄明白,待理解后会重新补全本部分内容,在此本人选了第一 ...

  8. datatable的部分问题处理(动态定义列头,给某行添加事件,初始显示空数据)

    一.动态定义列头 在ajax中,用datatable再去重新配置列头,当然传回的数据中,要有对应放列头的键值对 我自定义了Mock数据,用于前端自己交互. 其中,rowdata用于存放传回的数据,co ...

  9. web安全基础第一天

    编码:url编码 base64编码:末尾有俩个==号 md5加密:16位或者32位 1.whois查询  :站长邮箱,联系人,备案 旁站c段&子域名. ( 大数据平台和bing接口查询 :Zo ...

  10. Python多线程操作

    多线程是一门编程语言的重要操作. GIL(全局解释器锁)存在于python解释器中,用来确保当前只有一个线程被执行,当一个线程获得GIL后,这个线程将被执行,退出时释放GIL,由下一个获得GIL的线程 ...