持续集成 jenkins+gitHub

之前有用过 hudson ,最近换了新公司,项目刚刚起步 持续集成总得做吧,那就jenkin
注:
Jenkins的前身是Hudson(Sun开发),2010年从Hudson分支出来。由于Sun被Oracle收购,后者声称拥有Hudson的商标所有权,前者被迫这样做的。分支出来的Jenkins将继续走open source道路,而Hudson可能会用于商业用途,二者都在继续开发中

jenkins安装 (环境 centos 6.5 )

wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo

rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

yum install jenkins

#启动
service jenkins start

访问 http://192.168.1.1:8080 (根据自己IP 进行访问)
1. 第一次启动的时候可以选择要安装的插件和设置用户密码
2. jdk,maven 等配置进行系统设置配置即可(系统管理>Global Tool Configuration )

注:默认配置是8080 端口,如需更改请修正/etc/sysconfig/jenkins 配置文件即可

插件安装

系统设置>管理插件 (选择可选插件)

《持续集成 jenkins+gitHub》 Paste_Image.png

输入要安装的插件进行搜索即可

这里我们输入Github Plugin 进行搜索 ,jenkins会自动帮你解决其他插件的依赖,直接安装该插件即可。

创建一个测试工程

《持续集成 jenkins+gitHub》

源码关联

《持续集成 jenkins+gitHub》
《持续集成 jenkins+gitHub》
《持续集成 jenkins+gitHub》

然后保存>构建即可。

注: 上面构建的代码是公开库的,一般公司项目都是私有的,这时候就要配置github 认证。

构建私有项目 权限配置

进入github > settings >Personal access tokens >Generate new token

《持续集成 jenkins+gitHub》
《持续集成 jenkins+gitHub》

进入jenkins > 系统设置

《持续集成 jenkins+gitHub》
《持续集成 jenkins+gitHub》

secret : 就是刚刚在github 复制的内容。

然后重新对项目进行设置

《持续集成 jenkins+gitHub》

这样就可以对私有项目进行构建 了。

遇到的问题:

  • git 版本问题导致总是报错
  • 构建完成后执行shell 脚本 启动的服务总是自动kill 现象

git 版本问题导致总是报错

因为centos 6.5 自带的git 是1.7 版本,我在服务器上使用git clone 命令都是能正常克隆项目的,可是在jenkins构建项目时死活过不了,异常大致内容是:

Failed to connect to repository : Command "git config --local credential.helper store --
file=/tmp/git295604102612313123.credentials" returned status code 
129:stdout: stderr: error: unknown option `local'

网上查了一下说是git 版本太低,我试了公有仓库的构建是没问题的(git 1.7 版本), 好吧,那就升级git 呗,不知道什么原因,我试了 2.9.3,2.4.5 版本都不行,更新后连 公有仓库的代码也构建不成功了,最后是了2.7.1 版本居然OK了,不知道是不是之前升级有问题 ?

git 升级

 yum remove git
 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel -y
 yum install gcc perl-ExtUtils-MakeMaker -y
 wget https://www.kernel.org/pub/software/scm/git/git-2.7.1.tar.gz
 tar -xzvf git-2.7.1.tar.gz
 cd git-2.7.1
 make prefix=/usr/local/git all
 make prefix=/usr/local/git install
 ln -s /usr/local/git/bin/git /usr/bin/git

问题总算是解决 了。

构建完成后执行shell 脚本 启动的服务总是自动kill 现象

这个问题我是无语了,网上找了很多资料包括官网都是说指定 BUILD_ID=xxx 就可以了,不过我是怎么试都不行,包括自己写脚本ssh 进行访问启动还是会被kill

《持续集成 jenkins+gitHub》

最后解决办法是进入系统配置>SSH sites

《持续集成 jenkins+gitHub》

然后进入要构建的项目进行设置

《持续集成 jenkins+gitHub》
《持续集成 jenkins+gitHub》

    原文作者:small_xie
    原文地址: https://www.jianshu.com/p/54a0df17ca74
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞