美文网首页
持续集成 jenkins+gitHub

持续集成 jenkins+gitHub

作者: small_xie | 来源:发表于2016-08-28 23:55 被阅读0次

    之前有用过 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 配置文件即可

    插件安装

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

    Paste_Image.png

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

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

    创建一个测试工程

    源码关联

    然后保存>构建即可。

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

    构建私有项目 权限配置

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

    进入jenkins > 系统设置

    secret : 就是刚刚在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

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

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

    相关文章

      网友评论

          本文标题:持续集成 jenkins+gitHub

          本文链接:https://www.haomeiwen.com/subject/mvkxettx.html