1.安装jenkins
环境:CentOS 6.7
安装方式:
$ yum install yum-fastestmirror -y #安装自动选择最快源的插件
#添加Jenkins源:
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
$ yum install jenkins #安装jenkins
启动方式:
$ sudo service jenkins start
访问方式:
浏览器输入http://your server ip:8080/
更改配置(如端口)方式:
$ vim /etc/sysconfig/jenkins
$ sudo service jenkins restart
2.jenkins基础配置
Unlock
经过上面的配置,你可以访问你的Jenkins了,在浏览器中输入:http://your server ip:8080/
,然后输入密码:
按照提示我们执行cat /root/.jenkins/secrets/initialAdminPassword
得到Administrator password
,输入后点击Continue,如下:
![](https://i-blog.csdnimg.cn/blog_migrate/8b624a5b0726cd6a1dfd43c4d83b4275.webp?x-image-process=image/format,png)
选择install suggested plugins
,等待安装完毕,如果有安装失败的可以跳过,之后可以手动根据需求安装。
![](https://i-blog.csdnimg.cn/blog_migrate/d905e874b381617b5cee6b99503d9e3e.webp?x-image-process=image/format,png)
设置初始账户和密码
![](https://i-blog.csdnimg.cn/blog_migrate/329070a68ac1cd5c085fdc71c1b88c88.webp?x-image-process=image/format,png)
设置完成后进入界面:
![](https://i-blog.csdnimg.cn/blog_migrate/4545f9de35f0611e2b4413ea54dd87cd.webp?x-image-process=image/format,png)
3.github配置
sercret text
注:此处需要一个对项目有写权限的账户
进入github --> setting --> Personal Access Token --> Generate new token
![](https://i-blog.csdnimg.cn/blog_migrate/59b8ad640409f0bc49cee9c781ddab93.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/82477873d2227b8e7f4b52e3db027593.webp?x-image-process=image/format,png)
自己先保存此token
,如果丢失,之后再也无法找到这个token
。
GitHub webhooks 设置
进入GitHub上指定的项目 --> setting --> WebHooks&Services --> add webhook --> 输入刚刚部署jenkins的服务器的IP
![](https://i-blog.csdnimg.cn/blog_migrate/4aa9e544ae07de9595a56ae24b9bca5e.webp?x-image-process=image/format,png)
4.jenkins的github配置
安装GitHub Plugin
系统管理-->插件管理-->可选插件
直接安装Github Plugin, jenkins会自动帮你解决其他插件的依赖,直接安装该插件Jenkins会自动帮你安装plain-credentials 、git 、 credentials 、 github-api
![](https://i-blog.csdnimg.cn/blog_migrate/bd89104c0f0a26e1075e64be655625e5.webp?x-image-process=image/format,png)
配置GitHub Plugin
系统管理 --> 系统设置 --> GitHub --> Add GitHub Sever
如下图所示
![](https://i-blog.csdnimg.cn/blog_migrate/ab754acb942a6ba4cd08d01282d66656.webp?x-image-process=image/format,png)
API URL 输入 https://api.github.com
,Credentials点击Add添加,Kind选择Secret Text,具体如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/333f04e136f33c10b702f3ed2c4a07f5.webp?x-image-process=image/format,png)
设置完成后,点击TestConnection
,提示Credentials verified for user UUserName, rate limit: xxx
,则表明有效。
创建一个freestyle任务
- General 设置
填写GitHub project URL, 也就是你的项目主页
eg. https://github.com/your_name/your_repo_name
![](https://i-blog.csdnimg.cn/blog_migrate/216843d418c826cbc4eb3a62e183ea3a.webp?x-image-process=image/format,png)
- 配置源码管理
![](https://i-blog.csdnimg.cn/blog_migrate/dec81ff70954862f022b08f91ab93b11.webp?x-image-process=image/format,png)
- 填写项目的git地址, eg.
https://github.com/your_name/your_repo_name.git
- 添加github用户和密码
- 选择githubweb源码库浏览器,并填上你的项目URL,这样每次构建都会生成对应的changes,可直接链到github上看变更详情
- 构建触发器,构建环境
![](https://i-blog.csdnimg.cn/blog_migrate/e901707619a02ad27bb8eff96a4332e9.webp?x-image-process=image/format,png)
- 构建
![](https://i-blog.csdnimg.cn/blog_migrate/c51afb9466c5851c69446b160c84eb12.webp?x-image-process=image/format,png)
- 构建后操作
![](https://i-blog.csdnimg.cn/blog_migrate/98eb6f48328e12b22919966e81284b98.webp?x-image-process=image/format,png)
最后点击保存即可
5.测试效果
6.参考
http://www.jianshu.com/p/b2ed4d23a3a9
遇到问题
(1)乱码问题在.jenkins/jenkins.xml中新增-Dfile.encoding=utf-8,可解决jenkins信息乱码问题,如下:
<arguments>-Xrs -Xmx256m -Dfile.encoding=utf-8 -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>
(2)jenkins 任务结束后 执行linux 脚本停止
使用jenkins的批处理或者ant 启动tomcat失败。查了一下原因说是 jenkins在脚本执行结束后,就认为任务结束了,但是脚本启动的相关子程序仍然在运行。由于jenkins认为任务已经结束了,就结束了该构建相关的子进程。
解决办法:增加一个环境变量。
BUILD_ID=pleaseDontKillMe and it works like a charm。
可以添加在执行任务的节点设置中添加该变量。
![]()