Jenkins 安装 与 使用

发表信息: by

Jenkins 安装 与 使用

一直对jenkins都只是听说过,没用过, 最近因为在了解公司的发布系统,发现很多好用的工具,如Jenkins,supervisor等,今天我们对jenkins进行安装,并且实现自动github push 代码的时候自动做一些处理(当然你可以理解为ci)

Jenkins介绍

可能有些同学也是第一次接触jenkins,或者还没有接触,想要了解下,我这里翻了很多的文章,找到了个对jenkins比较好理解的定义

wikipedia

这里引用下维基百科对jenkins的介绍:

  • Jenkins是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目复刻。
  • Jenkins提供了软件开发的持续集成服务。
  • 它运行在Servlet容器中(例如Apache Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。
  • Jenkins是在MIT许可证下发布的自由软件。
  • 通过各种手段触发构建。例如提交给版本控制系统时被触发,也可以通过类似Cron的机制调度,也可以在其他的构建已经完成时,还可以通过一个特定的URL进行请求。

IBM

这里是IBM里对jenkins的描述,里面还对持续集成做了概述

Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。下面将介绍 Jenkins 的基本功能。

MY

在网上找了些对jenkins的介绍,并且加之以往对jenkins的见识,于我的大脑中,jenkins所作的便是 对每次仓库代码的操作,它会把代码拉到服务器上,根据配置执行特定脚本然后将操作的每一步都以详细的日志方式在web界面中展示出来。

因为可以配置执行脚本,所以我们便有可能在不进入服务器的情况下对服务器进行操作,并且看到具体的操作结果。

简单使用

好吧,了解了这个东西是干什么的,我们便进行初始的安装吧~

相关信息

系统配置

  • CentOS 6.8 64bit
  • 1 核心
  • 1G 内存

Jenkins

  • jenkins-2.73.1-1.1.noarch

安装

安装jenkins

安装java环境:

yum install java

配置jenkins库

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

如果没有wget 请先安装 yum install wgety

安装jenkins

yum install jenkins

启动jenkins

sudo service jenkins start

配置jenkins 和 github

http://<your ip>:8080

初始化

1.

1

将给出路径下文件内的初始化码填进来

2.

2

选择推荐插件安装,这里安装了些默认的插件

3.

3

全局配置

我们转到github上,获取个tocken, 因为jenkins需要tocken作webhook认证

1.

5

2.

6

3.

7

4.

8

然后我们配置下 jenkins 对 github 支持的全局变量 (为webhook 做准备)

6.

4

7.

9

8.

9

新建job

我们新建个新的job, 做下对应的配置,这样当代码push到GitHub上的时候便会自动触发jenkins, 执行我们配置好的脚本文件

1.

jenkins

jenkins

jenkins

jenkins

jenkins

jenkins

这里的 WORKSPACE 便是 git clone 下来的项目根目录
这里的构建脚本是 执行 项目根目录下的 ci.sh

我们看下 ci.sh 文件内容

echo "start.sh is runing"
var1=11

while [ $var1 -gt 1 ]
  do
    var1=$[$var1 - 1]
    echo "hello world $var1"

    done

echo "end start.sh"

最后一步

最后,我们在GitHub的项目上配置webhook

jenkins

好,我们开始push文件到GitHub的项目下

jenkins

jenkins

这里,我们发现已经触发jenkins并且成功运行了ci.sh