Jenkins+Github持续集成

由于最近团队代码库从coding迁移到github,在CI工具的选型上尝试了travis-cicircle-ci,最后决定自己搭建CI服务器,而我也有幸认领了这个任务的调研,因此有了这篇文章。

之前写过一篇文章浅谈Jenkins+Node.js持续集成,那真的是浅谈,Jenkins包含的东西实在太多了,作为从hudson分支出来的开源免费的版本,插件与hudson通用,有更快的迭代速度和稳定性。

为什么选择Jenkins

答案简单:因为免费,学习资料多。

开始吧

安装配置这里就不赘述了,移步浅谈Jenkins+Node.js持续集成

0. 准备

因为要与Github通信,所以需要准备一台服务器,该服务器能访问到Github,Github能访问到它。
为了这个测试,我特地在搬瓦工VPS买了服务器,顺便介绍一下这个高性价比的vps供应商,$2.99约合人民币18元每个月,可一键搭建shadowsocks。但是记得有个坑就是购买的时候一定要选好机房,之前买过洛杉矶的卡的要死,打条命令之后要等好久才显示,对它失去信心不想用它了,后来听一个朋友说亚利桑那州Arizona)的机房挺稳定的,再给它一次机会,这次买了Arizona机房的果然速度挺快的??

1. 安装GitHub Plugin

直接安装Github Plugin, jenkins会自动帮你解决其他插件的依赖,直接安装该插件Jenkins会自动帮你安装plain-credentials 、git 、 credentials 、 github-api

2. 配置Github插件

系统管理 >> 系统设置 >> GitHub Plugin Configuration


首先点击personal access token到github上
也就是github上用户Settings >> personal access tokens


勾选给Jenkins的访问权限,Github plugin的帮助信息里说要admin:repo_hook、repo和repo:status权限,其实repo:status是包含在repo里的,详见这里。 点击Generate token创建一个token


复制这个token,回到Jenkins点击Add按钮


选择Secret text,粘贴token,添加描述,点击添加。
点击Verify credentials测试token,显示Credentials verified for user xxx, rate limit: xxxx,说明配置完成了,这样你的Jenkins就具有访问你的github的权限了。

3. 创建一个freestyle任务

  • 配置源码管理

    1. 填写项目的git地址, eg. https://github.com/your_name/your_repo_name.git
    2. 添加github用户和密码
    3. 选择githubweb源码库浏览器,并填上你的项目URL,这样每次构建都会生成对应的changes,可直接链到github上看变更详情
  • 构建触发器勾选Build when a change is pushed to GitHub,这样该仓库的每一次push或者pull request都会触发build

  • 配置构建步骤随后配置构建环境、构建步骤和构建后步骤

安装了Github Plugin之后在构建步骤和构建后操作会多两个设置,用于在构建时和构建后同步构建状态到Github的,后面有效果图

4. 配置Github仓库的Webhook

仓库的创建人在仓库的Settings >> Webhooos & services添加
我们只需要push事件触发就可以了,选中Just the push event
点击Add webhook
yes,与github集成的Jenkins CI环境就配置好了

5. 效果

每次push都会触发一次build,pull request的话还会在该界面直接显示build结果

最后

整个环境终于搭好了,中间遇到了蛮多大坑小坑的,有些记录了下来,后续整理好再发上来。
这段时间学习Jenkins收获蛮多的,只是到现在也只学了些皮毛,写出来的东西也颇有些晦涩。
接下来要做的实验是通过Jenkins实现自动远程部署。

时间: 2024-11-07 23:32:58

Jenkins+Github持续集成的相关文章

jenkins+github持续集成中的坑

1.前言 刚开始开发自己的独立博客的时候,每次发布都要手动打包,上传服务器,杀tomcat进程,重启,来回这么重复性工作,很快就有点不耐烦了.如果能自动化的东西,就绝不要手动了,所以自己搭建了个持续集成环境,配好了结合github进行push时自动构建,自动发布的流程,提交代码,泡杯咖啡就发布好了.本以为很简单,但没想到中间细节还是有不少坑,查了很多资料,墙都翻了好几次,把遇到的问题记录在这里. 2.正文 详细安装教程就不复制粘贴了,推荐此文手把手教你搭建Jenkins+Github持续集成环境

Jenkins + Github持续集成构建Docker容器,维基百科&人工自能(AI)模块

本文分两部分,第一部分是手动计划任务的方式构建Github上的Docker程序,第二部分是用Github webhook Trigger一个自动构建任务. Jenkins采用2.5版本Docker采用1.7.1代码托管使用的Github官网系统为IBM Bluemix提供的Cent6.7,服务器地址在美国南加州 1.1 创建一个Freestyle Project, let's say jenkins-docker 1.2 Set workplace to /var/lib/jenkins/job

【iOS】Jenkins Gitlab持续集成打包平台搭建

Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:[email protected] 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com 1. 相关概念 Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务,可监控并触发持续重复的工作,具有开源,支持多平台和插件扩展,安装简单,界面化管理等特点.更多介绍参考维基介绍. Gitlab GitLab是一个利用R

使用jenkins构建持续集成平台

jenkins +   Maven + svn/git + tomcat 的持续集成平台 项目管理流程: 需求分析----原型设计----开发代码----提交测试-----内部测试-----确认上线(确认上线前可能经过多种环境的测试) ------上线到生产环境-----最终测试------如果出现问题代码回滚. 传统代码上线: 开发人员开发完成-----打好包(war.jar)-----交给运维人员上线(上传.拷贝) jenkins持续集成简介: 持续集成是一种软件开发实践,对于提高软件开发效

jenkins gulp 持续集成环境搭建

本文假设你之前没有用过任何任务脚本(task runner)和命令行工具,一步步教你上手Gulp.然后教你jenkins如何集成前端构建工具Gulp.不要怕,jenkins gulp 持续集成环境搭建其实也很简单,我会分为五步向你介绍jenkins gulp 持续集成并帮助你完成一些惊人的事情.那就直接开始吧. 第一步:安装Node 首先,最基本也最重要的是,我们需要搭建node环境.访问 https://nodejs.org/en/download/ 下载得到这样的一个文件node-v6.9.

用MSBuild和Jenkins搭建持续集成环境(2)

http://www.infoq.com/cn/articles/MSBuild-2 作者 Mustafa Saeed Haji Ali ,译者 李剑 发布于 2012年10月23日 | 注意: 挥一挥衣袖,带走满满干货,关注活动大本营,时不时发福利呦!3 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单 这是持续集成系列的下半部分,如果你还没看过上半部分的话,请点击这里:用MSBuild和Jenkins搭建持续集成环境(1). 与Jenkins相会

jenkins + Tomcat 持续集成环境搭建

今天在跑selenium用例时需要用到导入数据库来恢复数据,以便每次测试都保持环境是有效数据,于是想到了jenkins,这里简单介绍一下tomcat + jenkins的环境搭建: 步骤一.下载符合版本的jdk7,触压到某个目录,设置好JAVA_HOME并加入path. 步骤二.下载tomcat,这里使用的是apache-tomcat-7.0.42步骤三.下载Jenkins,把Jenkins.war放入tomcat的webapps目录下,启动tomcat,通过http://localhost:8

RF+Jenkins构建持续集成

引入RF是为了能够快速的开展自动化验收测试,Jenkins而一种持续集成工具,用于监控持续重复的工作,持续的软件版本发布/测试项目,而通过RF+Jenkins可以有利的对RF构建的接口项目进行持续集成测试.Jenkins另一个强大之处就是它的分布式构建(在Jenkins的配置中叫做节点),分布式构建能够让同一套代码在不同的环境(如:Windows和Linux系统)中编译.测试等.而且Jenkins构建的代码和产物最后自动拷贝到主节点. 简单概括而言,结合RF+Jenkins开展持续集成基本步骤:

使用jenkins实现持续集成

一.jenkins 介绍 它是一个自动化的周期性的集成测试过程,从检出代码.编译构建.运行测试.结果记录.测试统计等都是自动完成的,无需人工干预,有利于减少重复过程以节省时间.费用和工作量: 它需要有专门的集成服务器来执行集成构建: 它需要有代码托管工具支持,比如SVN: 官网地址地址:https://jenkins.io Jenkins的主要目标是监控软件开发流程,快速显示问题: jenkins持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,所以它有利于减少重复过程以节省时间.费用