构建基于Jenkins + Github的持续集成环境 本人实践版

31 篇文章 0 订阅

Jenkins是什么

 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工         作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。

1、JenKins

官网:https://jenkins.io/index.html 点击下载,选择LTS版本。
下载下来的是war。

2、安装JenKins

网上说有两种方式:本人都实践过,都是可行的!
(1)直接使用Java命令行的方法:(前提Java jdk已经装好,并且环境变量配置好了)
    java -jar jenkins.war就可以啦。
   第一次启动 无论哪种方式都要输入系统自动生成的密码,
   在C:\.jenkins\secrets\initialAdminPassword文件里,打开它复制就行。
   或者在命令行中找到,复制

(2)把该war包放入到tomcat的webapps文件夹中,启动tomcat时,会自动解压该war包生成jenkins项目。

自此安装完毕。
(3)Linux安装的方法
其实以上一般是在window上的做法,要是是在linux下,则最好参考官网的做法:
ubuntu
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
启动jenkins的命令:

sudo /etc/init.d/jenkins start
sudo /etc/init.d/jenkins stop

redhat和centos
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins

启动jenkins的命令:

sudo service jenkins start/stop/restart

3、访问JenKins

 使用tomcat的方式访问:http://localhost:8080/jenkins/
 使用Java命令行或是Linux的方式是:http://localhost:8080

4、安装插件

之所以要安装插件是我们以后的操作都要用到插件。没有的话,基本干不了活。
因为我们是要使用github,所以需要用到git plugin、和github plugin.
我们进入:
系统管理 -->管理插件 --->可选插件,
①这个时候你会发现显示无更新列表
②点击”高级“在升级站点处url填写http://mirror.xmission.com/jenkins/updates/update-center.json,以前的站点被墙掉了,不可用。
③这时再回到”可选插件“出就可以看到列表了。
④在可选插件页面中ctrl+f搜索你想要安装的插件,比如git plugin。
找到后点击它,在之后的页面中点击版本号,进行下载。(这里之所以不使用直接安装,因为在中国被墙掉啦)所以我们要手动安装,下载下来的文件是.hpi。
安装插件往往会出错。比如:

这里写图片描述
如上图,我在安装github插件时,报了错误。根据信息提示,它需要你先安装GitHub api这个插件。
所以呢!你再去”可选插件“中搜索GitHub api插件,进行手动安装。
之后再来安装github插件!
⑤手动安装:点击“高级”下面可以看到上传文件
注意:要是出现了安装插件失败,90%原因就是因为它需要你先安装其他插件,因为他们存在依赖关系,还有10%的原因,可能网速的原因导致你下载下来的.hpi文件不完整。

5、配置git

在安装好插件后,就要进行配置本机的git
系统管理 --->Global Tool Configuration 点击git安装

这里写图片描述

注意:是git文件夹中的cmd文件夹中的git.exe

Linux中
这里写图片描述

要是你不知道可以执行命令:

[root@master01 ~]# which git
/usr/bin/git

6、新建job

在首页点击”新建“

这里写图片描述
选择“构建一个自由风格的软件项目”;
点击“OK”;
之后就进入了job的配置页面
7、配置

7.1、勾选“github project”要是你没有的话,说明github plugin插件没有装好

这里写图片描述
要是是gitlab上拉代码就不用勾选。

7.2、源码管理:

这里写图片描述
①在Repository URL填写自己的远端地址。git打头的是ssh的连接形式,http打头的是http的连接形式。
②在Credentials这一栏,我弄了很久,每次我都是直接点击那个“Add”->“Jenkins”然后创建账号。结果总是不对。后来我回到首页:
这里写图片描述
这里写图片描述
点击 Stores scoped to Jenkins中的 Jenkins
这里写图片描述
在System中鼠标移动Global credentials(unrestricled)右边会出现小三角,
点击会出现Add Credentials.
这里写图片描述
Kind中选择SSH类型
这里写图片描述
Username这里是可以随便填,建议填写你生成ssh时的key。
private key这里选择第一个“Enter directly”,再把.ssh文件夹中的私钥全部复制过来(包括注释)。
至此,正常情况下这样配置,ssh认证是没有错的!
③Branches to build这一栏:*/master

8构建触发器

这里我是勾选:
①Build when a change is pushed to GitHub
②Poll SCM
其中第一个是检测远程github是否有代码提交,第二个是类似于定时,比如定时两分钟:
H/2 * * * *;两个同时勾选才会起作用!
如图:

这里写图片描述
效果就是每两分钟检测有代码提交的话,就进行自动构建!
9构建

这里写图片描述
构建这里我选择的是bat批处理,一般都是选择shell脚本!
这里脚本作用就是你怎么去构建,我这里写的bat批处理的意思是进行编译和执行main方法。
这一块你需要对手动编译要有所了解:
参考:http://blog.csdn.net/caesarzou/article/details/5462189
对于Java项目来说,当Jenkins从远端仓库拉到代码后,一般要先进行编译成.class文件,
之后,在进行打包。打包好了之后,再进行部署,发布!
对于Linux环境下肯定是使用shell的。下面是我编译、打包的shell脚本

#!/bin/bash
#获得当前目录
cur=$(pwd)

output_path=${cur}/classes
echo $output_path
if [ ! -d $output_path ]; then
mkdir $output_path
fi
## 获取依赖库和需要编译的java文件
export libs=`find lib -name "*.jar" |xargs|sed "s/ /:/g"`
export javafiles=`find src -name "*.java" |xargs|sed "s/ / /g"`
##编译
javac -d ${cur}/classes -cp ${libs} -encoding utf-8 ${javafiles}
##打包
cd $output_path
jar -cvf ${cur}/quartz-class.jar *
cd ${cur}/src
jar -cvf ${cur}/quartz-source.jar *
在这里一定要注意代码的这段内容:
if [ ! -d $output_path ]; then
mkdir $output_path
fi
这里面[]与里面的语句一定要有空格,前后都要有,没有空格的话,会报错!
参考地址:http://www.cnblogs.com/icerainsoft/p/4300799.html

10、构建后操作

部署、发布,就在这一步进行。同样是写脚本。可以参考远程部署这篇:

http://blog.csdn.net/u013066244/article/details/52786217

脚本配置好了后,就可以点击保存了!

接下来可以点击“立即构建”看看效果!可以在console output中看错误信息!

这里写图片描述

总结:个人觉得难点除了之前那个ssh认证的地方,就是写shell脚本,也不是很难,就是平时很少接触shell脚本,还有就是手动编译,手动打包,这些都需要了解!

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山鬼谣me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值