事情缘由:

  现在在做的主要工作是通过jenkins+postman实现api的自动化测试,想要达到的效果是,api自动化测试定时跑脚本的同时,github有新的代码提交,jenkins会自动检测部署新提交的代码,并且再次将api自动化脚本跑一边,发送出测试报告;

  饭要一口一口吃,搭建环境要一步一步走;现在呢,先把基本的github有push自动触发jenkins构建部署先搞定;

  我是搭建在linux上的,之前想在本地部署一个windows版本的jenkins先把环境调通,在搬到服务器上;结果是各种坑啊,首先网上的很多资料都有点陈旧,很多的配置项都对不上号,配置github的钩子也老是失败;果断放弃转战linux服务器,没想到挺顺利的;

废话少说,开始:

  首先大家都知道jenkins是基于java的,所以得确定你的服务器上是否部署了java环境,而且版本也有要求,我部署的是openjdk 1.7版本;方法点这里;也可以是orancle jdk 5以上;

  然后是https://jenkins.io/index.html,jenkins主页,下载war包

  

可以直接下载这个2.32.2的war包,好处就是不用单独安装各种插件,像github相关的Github Plugin、plain-credentials 、git 、 credentials 、 github-api等都会自动安好;

  下载完成后,可以借助xftp等工具将war包上传到服务器系统中;上传后,直接键入命令(注意用户权限问题):java -jar jenkins.war &,此时jenkins会自动安装部署,并在/root下生成.jenkins目录作为jenkins的工作目录:/root/.jenkins/workspace/;在安装日志的下方会给出一个长串的密码,这是首次登陆jenkins必须的,要眼尖copy下来备用,类似于这个:76a02d8a4f1b480a8ed9482d08bcfxxx;或者在http://服务器地址:8080/,首次登陆页面会提示需要/root/.jenkins/secrets/initialAdminPassword文件中的密令;

  命令java -jar jenkins.war & 不好的一点是虽然进程在后台运行,我们还可以进行其他的操作,但是jenkins运行中产生的日志信息,还是会展示在控制台;

  更加好点的命令:

  java -jar jenkins.war >jenkins_logs/jenkins.log 2>&1 &

  这个命令是将jenkins服务相关的控制台输出重定向到jenkins_logs目录下的jenkins.log文件中,包括标准输出和标准错误输出;

  当然有了日志文件,一般就会考虑自动备份跟自动清空日志文件:

  crontab -e   #进入计划任务编辑模式

  * 0 * * * cp jenkins.log backup/$(date +%m%H%M) ;echo "" > jenkins.log   ##每天晚上0点将jenkins.log备份到backup目录下,以当时时间为文件名。然后清空jenkins.log;

  部署完成后,就可以打开你的本地浏览器,输入http://服务器ip地址:8080/,就可以访问jenkins,首先应该是让输入上面给的长串密码,然后是创建首个admin用户,然后是选择安装插件,选择第一个suggest的插件,算是比较全的了,配置github的插件都包括了;

  安装完成后,就可以来配置jenkins的配置项了;

配置jenkins:

 1、配置github插件:

  主页》》系统管理》》系统设置:

  

  GitHub节点,GitHub Servers选择Add GitHub Server,其中API URL不用修改,点击Credentials的add增加一个jenkins访问github的token;到这个地方需要先暂停一下,到github新增一个token给jenkins使用,所以切换到github页面,Settings》》Personal access tokens,点击Generate new token;

  

  填写Token描述,用以区分不同的Token,下面的scops选择如下两个:

   

  点击下方会生成一串字母,这一串字母就是给jenkins分配的认证码;点击复制,回到jenkins;

  

  红框处分别填写对应的内容,Secret即为生成的Token认证码,点击add返回配置页面;

  

  Credentials项选择新增的Token配置,点击Test connection,若出现如同上图中的提示,则表明设置成功,jenkins能够正常访问到github;点击下方的保存,基本的github配置就完成了;

创建一个job:

  1、创建一个自由风格的任务;

  2、GitHub project下填写你需要配置的github仓库的链接;

  

  3、源码管理中,Git下填写Repository URL,类似于仓库地址后面的仓库名改成.git;Credentials增加一个有读写权限的用户,选择用户名和密码的方式就好;

    

  4、分支管理,可以定制哪一个分支,没有定制则代表任意分支;源码库浏览器选择githubweb,URL即仓库地址;

  

  5、构建触发器选择:GitHub hook trigger for GITScm polling,在不知道哪个版本的时候,Build when a change is pushed to GitHub改成了GitHub hook trigger for GITScm polling,所以很多网络上的文章中提到的Build when a change is pushed to GitHub,你是找不到的;

  

  6、构建环境选择如图,下面的Bindings中Credentials选择之前配置过的Token;

  

  7、构建,可以选择多个构建的步骤,表示构建过程执行那些操作;在Execute shell中详细写入构建具体的操作步骤,截图中我是随便写的;注意jenkins在服务器中执行脚本时,默认的当前目录是jenkins的工作目录,即/root/.jenkins/workspace/;在此基础上切换目录执行;

  

  8、构建后操作,选择如图Set build status on GitHub commit [deprecated],高级配置中配置如下,后点击下方的保存,任务就配置完成了;

  

配置github的web hook:

  1、回到github页面,选择你需要配置的仓库,点击Settings,注意是指定仓库的Settings,跟之前的github的Settings是不同的;

  2、Webhooks页面配置钩子:完后点击新增,我截图是打开了一个配置好的,所以是update;

  

  至此配置完成,在github上上传一个文件试试看吧,应该能够触发jenkins执行构建命令;

打开用户注册开关

  jenkins安装完成后,默认只能是最初创建的admin用户可以登录使用,没有其他用户注册的地方,是因为用户注册的开关默认是关闭的;配置也很简单:

  jenkins >> 系统管理 >> Configure Global Security:

  

  将允许用户注册勾选,保存后再将jenkins链接共享出去,jenkins主页就会出现登陆和注册按钮;

下面附上jenkins教科书式的博客链接,希望大家能有所收获,也感谢博主分享:

http://blog.csdn.net/wangmuming/article/category/2167947

linux搭建jenkins+github详细步骤的更多相关文章

  1. 一、linux搭建jenkins+github详细步骤

    事情缘由: 现在在做的主要工作是通过jenkins+postman实现api的自动化测试,想要达到的效果是,api自动化测试定时跑脚本的同时,github有新的代码提交,jenkins会自动检测部署新 ...

  2. Linux Makefile文件编写详细步骤与实践

    Linux Makefile文件编写详细步骤与实践 1.makefile概述 Windows环境下IDE会帮你完成makefile文件的编写,但在UNIX环境下你就必须自己写makefile了,会不会 ...

  3. Linux 搭建 Jenkins

    环境准备 安装JDK 安装 JDK 之前写过一篇文章,本文就不具体讲了: Linux 安装 JDK 注意:Java版本不能是gcj,会导致Jenkins有问题,centos7搭建jenkins小记文章 ...

  4. 在linux上安装Scala详细步骤

    scala在linux安装很简单,就是下载,解压,配置环境变量,source一下成功. 提君博客原创 >>提君博客原创 http://www.cnblogs.com/tijun/ < ...

  5. Linux安装ftp服务-详细步骤

    最近项目中用到了FTP服务器,于是整理了一份在Linux服务器上安装FTP的详细步骤供大家分享. 1.首先连接上自己的Linux服务器.我的Linux是CentOS 6 2.检查Linux服务器上是否 ...

  6. Linux搭建SVN服务器详细教程

    前言 本文讲解Linux系统下如何搭建SVN服务器,详细说明各配置项的功能,最终实现可管控多个项目的复杂配置. SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统 ...

  7. linux 搭建jenkins+创建maven工程JOB

    1.linux 安装jenkins 网上搜到这样安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redh ...

  8. Linux 下搭建Git 服务器详细步骤

    参考: https://www.cnblogs.com/dee0912/p/5815267.html#_label0 https://blog.csdn.net/carfge/article/deta ...

  9. 【Jenkins】Linux搭建Jenkins平台

    为了配合上一篇的ant+jenkins做持续集成,需要在linux环境下搭建一个jenkins平台.网上有很多安装的例子,我主要记录一下自己遇到的问题,真真的是特别惆怅的,每次我遇到的问题都格外多. ...

随机推荐

  1. 数据库备份与还原:mysqldump,source

    *数据库备份* 1.备份方法一:适用于myslam表: 直接将tb_name.frm.tb_name.myd.tb_name.myi三个文件保存,备份即可. 需要的时候直接解压到,移动到相应的数据库目 ...

  2. GIT-maven

     maven 一:什么是maven 1.maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的创建,报告和文档的软件项目管理工具. 2.maven是跨平台的项目管理工具,主要服务于 ...

  3. Mac配置内网穿透

    闲语: Java开发过程中,往往会对接第三方,而在对接过程中,双方间使用的最多的"通讯"方式就是异步通知.可是异步通知过程中,只能通知到外网地址,可是在调试过程我们都是在本地进行- ...

  4. iso15693芯片读写工具套件 icode-slix2读写 nfc type 5 tag读写

    iso15693芯片读写工具套件 icode-slix2读写 nfc type 5 tag读写校验套件 iso15693工具套件支持icode-slix,icode-slix2芯片的读写,支持iso1 ...

  5. HashMap知识初探

    public class TestHashMap { /** * HashMap是数组和链表组合构成的数据结构 * 数组里面每个地方都存了key-value这样的实例Java7叫Entry,Java8 ...

  6. “1+X”证书Web前端开发等级考试简介

    考试简介 “1+X”证书制度是为了深入贯彻党的十九大精神和全国教育大会精神,教育部会同国家发展改革委.财政部.市场监管总局制定了<关于在院校实施“学历证书+若干职业技能等级证书”制度试点方案&g ...

  7. 神经网络之反向传播算法(BP)公式推导(超详细)

    反向传播算法详细推导 反向传播(英语:Backpropagation,缩写为BP)是"误差反向传播"的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见 ...

  8. Dockerfile文档编写

    图片显示问题,附上有道云笔记中链接:http://note.youdao.com/noteshare?id=fba6d2f53fd6447ba32c3b7accfeb89b&sub=B36B5 ...

  9. acm数论之旅--唯一分解定理

    题目: 给出n,问n = b^p中p符合该等式的最大值 分析: 先求出所有n的质因子,然后对这m个质因子分类统计,比如 n = 36时,可以分成 2个2,2个3,然后求出所有这些基数的 最大公因数gc ...

  10. Matlab geom3d函数注释

    Matlab geom3d函数解析 geom3d函数库 geom3d库的目的是处理和可视化三维几何原语,如点.线.平面.多面体等.它提供了操作三维几何原语的底层功能,使得开发更复杂的几何算法变得更加容 ...