这里以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. 硬杠后端(后端坑系列)——Django前期工作

    Django是一个开放源代码的Web应用框架,由Python写成,采用了MVC的框架模式. MVC MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件 ...

  2. OPPO realme 2在哪里打开Usb调试模式的简单步骤

    每当我们使用PC通过数据线链接到安卓手机的时候,如果手机没有开启USB调试模式,PC则没能成功识别我们的手机,这时我们需要找解决方法将手机的USB调试模式开启,下文我们记录一下OPPO realme ...

  3. Java:配置环境(Mac)——Tomcat

    1.官网下载 2.把下载的文档解压,放到合适的路径下. 3.打开eclipse 4.在Apache文件夹下选择Tomcat的对应版本 5.选择刚才下载的文件 6.可以右键Start了

  4. HttpClient 报错 Invalid cookie header, Invalid 'expires' attribute: Thu, 01 Jan 1970 00:00:00 GMT

    今天在给我姐夫写一个 QQ 自动加好友的程序,但是在 HttpClient 登陆 QQ 的时候报了一个错: -- ::] - Invalid cookie header: Jan :: GMT -- ...

  5. 使用Log4Net进行错误日志记录

    http://blog.csdn.net/zdw_wym/article/details/48802821

  6. python字典结构化数据

    https://www.cnblogs.com/evablogs/p/6692947.html dict: 键-值(key-value)对集合{key:value},查找速度极快,但浪费内存. 1 2 ...

  7. C#的扩展方法(this)

    先在StringLibrary类中定义一个静态方法,如下: public static class StringLibrary { //第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰 ...

  8. mysql解压包安装教程

    1.下载压缩包,地址1(官网下载):https://www.mysql.com/downloads/   地址2(百度网盘):https://pan.baidu.com/s/12lnpcr3thBe9 ...

  9. .Net Core 在Linux服务器下部署程序--(3). 部署.net Core程序

    确认第二步中的软件已安装完成 lrzsz文件上传下载软件 zip与unzip压缩包软件 net core 相关软件 确认上述软件安装完成之后,开始部署程序 创建部署文件夹 我的习惯是在usr文件夹下新 ...

  10. Windows苹果安卓手机远程桌面客户端推荐

    适用于:Windows 10.Windows 8.1.Windows Server 2012 R2.Windows Server 2016 最近公司电脑从Windows7升级到了Windows10,然 ...