这里以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,再勾选repoadmin:repo_hook,再点击底部的Generate token按钮,就能产生一个新的access token,将此字符串复制到记事本,后面jenkins任务中会用到(注意:关闭这个页面就找不到这个字符串了):

配置Jenkins

  1. 进入系统设置:
  2. 在系统设置页面找到”GitHub”,点击添加GitHub Server,如下图,名称随便起,API URL填写https://api.github.com凭据位置如下图红框所示,选中管理 Hook选择Add ->Jenkins
  3. 弹出的页面中,类型选择Secret textSecret填入前面在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. 【转】JavaSE面试题目收集

    1.是否可以从一个static方法内部发出对非static方法的调用? 不可以.当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用, ...

  2. Web后端 JAVA学习之路

    1.Java分类 Java按应用来分,可以分为J2ME(手机版),J2SE(标准版),J2EE(企业版)三部分. ・J2ME:已经被安卓开发取代. ・J2SE:Java的核心类,其中包括桌面应用,但一 ...

  3. 《JavaScript高级程序设计》笔记:DOM扩展(十一)

    选择符API querySelector()方法 // 取得body元素 var tbody = document.querySelector('body'); // 取得ID为"myDIV ...

  4. Hadoop Yarn框架原理解析

    在说Hadoop Yarn的原理之前,我们先来看看Yarn是怎样出现的.在古老的Hadoop1.0中,MapReduce的JobTracker负责了太多的工作,包括资源调度,管理众多的TaskTrac ...

  5. python带参函数(计算器脚本解释标注)

    环境 python 3.* def operator(op1,op2,opfu): #定义符号函数,op1表示第一个运算数值,op2表示第二个,opfu表示运算符号 if opfu not in '+ ...

  6. 位运算 leecode.389. 找不同

    //给定两个字符串 s 和 t,它们只包含小写字母. //字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母. //请找出在 t 中被添加的字母 char findTheDifferenc ...

  7. SpringBoot Mybatis 使用LocalDateTime

    mybatis-spring-boot-starter 2.0.1 会报错,不知道如何解决(建议先不用) mybatis-spring-boot-starter 2.0.1 - 1.3.2 版本不会报 ...

  8. Delphi 项目配置选项

    打开项目设置窗口: 通过菜单:项目>选项 快捷键    :Shift+Ctrl+F11 Delphi编译器选项说明  Conditional defines 指定条件编译器指令中引用的符号. O ...

  9. Java实现遍历N级树形目录结构

    最近挺忙,一直在做项目,然后有个树形目录结构需要返回给前端,这里给大家说一下实现的思路. 具体达到的效果类似: 一级目录A: 二级目录A: 三级目录: 四级目录: 文件.txt 二级目录B: 文件1. ...

  10. vue源码分析—Vue.js 源码目录设计

    Vue.js 的源码都在 src 目录下,其目录结构如下 src ├── compiler # 编译相关 ├── core # 核心代码 ├── platforms # 不同平台的支持 ├── ser ...