Jenkins 是一个可扩展的持续集成引擎。

主要用于:

  • l 持续、自动地构建/测试软件项目。

  • l 监控一些定时执行的任务。

Jenkins拥有的特性包括:

  • l 易于安装-只要把jenkins.war部署到servlet容器,不需要数据库支持。

  • l 易于配置-所有配置都是通过其提供的web界面实现。

  • l 集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。

  • l 生成JUnit/TestNG测试报告。

  • l 分布式构建支持Jenkins能够让多台计算机一起构建/测试。

  • l 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。

  • l 插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。

目前持续集成(CI)已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。它是一种实践,旨在缓和和稳固软件的构建过程。并且能够帮助您的开发团队应对如下挑战:

软件构建自动化 :配置完成后,CI系统会依照预先制定的时间表,或者针对某一特定事件,对目标软件进行构建。

构建可持续的自动化检查 :CI系统能持续地获取新增或修改后签入的源代码,也就是说,当软件开发团队需要周期性的检查新增或修改后的代码时,CI系统会不断确认这些新代码是否破坏了原有软件的成功构建。这减少了开发者们在检查彼此相互依存的代码中变化情况需要花费的时间和精力(说直接一点也是钱啊,呵呵)。

构建可持续的自动化测试 :构建检查的扩展部分,构建后执行预先制定的一套测试规则,完成后触发通知(Email,RSS等等)给相关的当事人。

生成后后续过程的自动化 :当自动化检查和测试成功完成,软件构建的周期中可能也需要一些额外的任务,诸如生成文档、打包软件、部署构件到一个运行环境或者软件仓库。这样,构件才能更迅速地提供给用户使用。

640?wx_fmt=png

关于Jenkins就说这么多,下面我们来部署Jenkins。

首先准备工作:一台Linux机器,jdk的tar包,tomcat的tar包。

链接:

https://pan.baidu.com/s/1e0ebyHM6hsByrXBcKy-F5A  

密码:

pvxj

640?wx_fmt=png

拿到之后我们需要将这些tar包传到Linux系统上,这个时候我们可以使用scp进行上传.

这个scp口令是在自己的电脑上敲的(打开windows powershell,mac可以直接敲),如果不使用这个,也可以使用sftp,winscp等文件传输工具。

scp -r /Users/wuyuqing/Desktop/jdk-8u144-linux-x64.tar.gz root@xx.xx.xx.xx:/usr/local

640?wx_fmt=png

然后输入密码即可。

xx.xx.xx.xx代表Linux server的ip地址。

scp -r /Users/wuyuqing/Desktop/apache-tomcat-7.0.81.tar.gz root@xx.xx.xx.xx:/usr/local

1、安装配置Java

现在我们在/usr/local的目录下就有了jdk这个东西了。

下面我们来操作:

cd /usr/local

mkdir java

mv jdk-8u144-linux-x64.tar.gz /usr/local/java/jdk-8u144-linux-x64.tar.gz

cd java

tar -zxvf jdk-8u144-linux-x64.tar.gz 

待解压完毕,我们会发现在Java的文件夹下面多了一个jdk1.8.0_144的文件夹。

之后我们配置Java的环境变量:

vim /etc/profile

按i进入INSERT模式,把下面的内容粘贴进去:

export JAVA_HOME=/usr/local/java/jdk1.8.0_144

export PATH=$JAVA_HOME/bin:$PATH 

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

粘贴好了之后按Esc退出INSERT模式,输入:wq保存配置文件

为了使刚刚配置的文件能够立即生效我们需要source一下,否则就只能等重启他才会生效了。

source /etc/profile

这样我们的Java就算配置好了,接下来我们可以输入下面的口令检查Java的版本信息,如果你安装成功了就会输出Java的版本信息,如果你配置失败了就不能识别Java命令,就要看看有没有哪里漏掉了!

640?wx_fmt=png

2、安装配置Tomcat

Tomcat是一个免费的开源的web应用服务器,特点是技术先进,性能稳定,而且免费。 例如我们的Jenkins就可以搭建在tomcat中。

按照刚刚scp上传的路径,我们现在在/usr/local的目录下应该会有apache-tomcat-7.0.81.tar.gz文件。

cd /usr/local

mkdir tomcat

mv apache-tomcat-7.0.81.tar.gz /usr/local/tomcat/apache-tomcat-7.0.81.tar.gz

cd tomcat

tar -xzvf apache-tomcat-7.0.81.tar.gz

vim /etc/profile

将下面的文字粘贴到profile文件中

export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-7.0.81 

export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-7.0.81

下面我们就可以启动tomcat了,tomcat默认是8080端口,我们可以自由修改它的端口,进入apache-tomcat的目录,进入conf文件夹找到server.xml在文件里面找到8080,将8080修改成你想要的端口就可以。但是在修改之前要检查一下端口有没有被其他应用占用。

640?wx_fmt=png

netstat -apn|grep 8080

如果没有显示任何信息就是没有被占用,如果有就证明被占用了。那我们就最好不要使用这个端口。

配置好端口后,我们就可以启动tomcat了,在apache-tomcat主目录下找到bin文件夹。

640?wx_fmt=png

cd bin

./startup.sh

这样就启动tomcat了

如果你想把tomcat关闭,那可以在这个目录下敲

./shutdown.sh

为了是其他的机器从外面能够访问,我们需要把tomcat的端口号设为白名单,这时候我们需要使用iptables

vi /etc/sysconfig/iptables

将下面内容添加到iptables里面

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

8080是tomcat的端口号,如果你修改了,那也需要将这个8080替换成你修改的端口号。

然后重启防火墙

service iptables restart

就完成tomcat的部署了。

4、安装maven依赖

sudo apt-get install maven(Ubuntu)

sudo yum install maven(centos)

查看mave版本信息

mvn -version

640?wx_fmt=png

5、安装git

既然我们需要在Jenkins上部署项目,那肯定要去服务器上拉项目啊,这个时候就需要git仓库了,本文是以github上的公有repo(项目)为例子,将repo对应的GitHub地址放到Jenkins里面就可以了。

安装git

sudo apt-get install git(Ubuntu)

sudo yum install git(centos)

安装结束之后查看git版本信息

git --version

640?wx_fmt=png

6、部署Jenkins

首先我们需要下载Jenkins的war包 ,将war包放到apache-tomcat的webapps的目录下:

cd /usr/local/tomcat/apache-tomcat-7.0.81/webapps

wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war

这个时候我们的tomcat会自动解压Jenkins的压缩包,将Jenkins部署成网站。

640?wx_fmt=other

刚开始进入的时候我们需要密码,这是Jenkins自动生成的,我们需要获取这个密码,粘贴到这里:

cat /var/lib/jenkins/secrets/initialAdminPassword

然后点击确认就可以进入了。

640?wx_fmt=other

这时候Jenkins会让我们创建一个自己的用户,以后就依靠这个管理员用户登陆了。

这样,我们的Jenkins就算部署好了。

6、在Jenkins上部署项目

这里随便创建一个项目

https://github.com/johnturingwu/helloworld

640?wx_fmt=png

下面我们在Jenkins上进行部署。

进入主页,选择New Item:

640?wx_fmt=png

进入创建项目的页面,这里我们freestyle,如果使用pipeline需要会编写pipeline脚本,当然如果事先就写好pipeline脚本的也可以选择pipeline,点击OK,完成,进入项目的添加页面:

640?wx_fmt=png

点击OK后会进入下面这个页面,我们在里面填写信息。

640?wx_fmt=png

640?wx_fmt=png

第一个是项目描述,随便写,第二个框是用了设置删除构建的时间的,第一个是保存构建的天数,第二个是保存构建的个数,超过设定数量,之前保存的将会被删除。

640?wx_fmt=png

下面添加项目代码,将项目代码的地址粘贴进去

如果是私有项目,需要在Add里面配置私有key,还要在GitHub的项目上将server的公钥配置到GitHub。

640?wx_fmt=png

这边设置构建时间,为这边设置的是60min,也就是一个小时,Jenkins就会去检查一下Git服务器代码是否有变化,有的话就会触发构建操作。

640?wx_fmt=png

钩上,每次构建开始的时候,删除构建空间。

640?wx_fmt=png

这边在build项目的时候,我们使用最简单的构建 execute shell,这样就可以在里面执行shell命令了,我们这边就简单的运行代码。

640?wx_fmt=png

然后点击save就算完事了。

下面我们就让Jenkins构建代码。

640?wx_fmt=png

点击build now就可以构建了。

640?wx_fmt=png

项目会在这里进行构建,构建完毕他会显示结果,如果是OK的他会显示蓝色的圆点,如果是有问题的会显示红色的圆点。

640?wx_fmt=png

这边是蓝色的点,我们构建成功了。

我们等它构建完毕,然后我们点进去console里面可以看到它打印的结果。

640?wx_fmt=png

640?wx_fmt=png

可以看到项目执行的结果和log。

到这里,我们的Jenkins和项目部署就算完成了。

640?wx_fmt=gif

“喜欢就留个赞”

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐