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
要是你不知道可以执行命令:
[root@master01 ~]# which git
/usr/bin/git
6、新建job
在首页点击”新建“
选择“构建一个自由风格的软件项目”;
点击“OK”;
之后就进入了job的配置页面
7、配置
7.1、勾选“github project”要是你没有的话,说明github plugin插件没有装好
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脚本,还有就是手动编译,手动打包,这些都需要了解!