什么是jenkins?
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能
Jenkins功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
首先保证系统中已经安装了jdk,最好是jdk1.5以上。
第一种启动方法,切换到jenkins.jar存放的目录,输入如下命令:
$ java -jar jenkins.jar
然后在浏览器中(推荐用火狐)输入localhost:8080,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins
第二种方法是用tomcat打开
解压tomcat到某个目录,如/usr/local,进入tomcat下的/bin目录,启动tomcat
将jenkins.war文件放入tomcat下的webapps目录下,启动tomcat时,会自动在webapps目录下建立jenkins目录,所以在地址栏上需要输入的地址于上一种方法有点不一样。
什么是ci
就是持续集成
什么是cd
就是持续支付,持续部署
持续集成
:就是开发提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,测试过程可以确定新代码和原有代码能否正确地集成在一起,如果测试过程有问题,那么将返回代码给开发部门
持续交付
:在持续集成的基础上,将集成后的代码部署到更贴近于真实的生产环境中。在贴近真实的生成环境中,可以提高数据支撑,且进一步做测试,如果进一步测试没有问题,那么可以部署到线上的生成环境中
持续部署
:是在持续交付的基础上,把部署到生产环境的过程自动化,实现部署无需人工参与,如何在部署的过程中出现问题,将立即回滚代码
有了Jenkins之后,开发人员写好代码,不需要自己进行源码编译、打包等工作,直接将代码分支存放在SVN、GIT仓库即可,运维人员只需要在Jenkins平台将代码构建,部署,和测试。减少人工干预的错误率,同时解放运维人员繁杂的上传代码、手动备份、更新。在Jenkins平台上,运维人员可以实现自动构建过程,包括自动编译、分发、部署和测试
第一种方式安装jenkins
1:创建镜像仓库(如果不需要检测镜像的完整性,那么可以编辑/etc/yum.repos.d/jenkins.repo文件,设置 gpgcheck=0 即可)
wget -O /etc/yum.repos.d/jenkins.repo
https://pkg.jenkins.io/redhat-stable/jenkins.repo
2:yum 安装(无需配置Tomcat容器,自大jetty容器)
yum install jenkins
3:查看jenkins所提供的文件
[root@
7 ~]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/
lib/jenkins
/usr/
lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/
lib/jenkins
/var/log/jenkins
4:直接运行Jenkins
service jenkins start
5:在浏览器访问Jenkins,在/var/lib/jenkins/secrets/initialAdminPassword文件中拷贝需要的密钥,登入Jenkins,在Jenkins平台安装构建,发布,部署所依赖的插件
http://192.168.43.10:8080
第二种方式安装jenkins
1:直接在官网下载Jenkins的war包
wget https:
//mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.73.2/jenkins.war
2:直接使用jvm运行Jenkins
java -jar jenkins.war &
3:使用浏览器访问,与RPM包安装过程一样
http:
//192.168.43.11:8080
第三种方式安装jenkins(在tomcat容器中部署jenkins)
0:安装openjdk的devel包
yum install -y java
-1.8.0-openjdk-devel
1:也可以不使用自带的jetty容器,使用Tomcat容器运行Jenkins,安装JDK
vi
/etc/profile.d/java.sh,添加如下配置
export JAVA_HOME=/usr
2:下载Tomcat
wget
http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.47/bin/apache-tomcat-8.0.47.tar.gz
tar xf apache-tomcat
-8.0.47.tar.gz -C /usr/local
ln -s
/usr/local/apache-tomcat-8.0.47 /usr/local/tomcat
vi
/etc/profile.d/tomcat.sh, 添加如下配置
CATALINA_BASE=
/usr/local/tomcat
PATH=$CATALINA_BASE/
bin:$PATH
export PATH CATALINA_BASE
3:下载Jenkins的war包
wget
http://mirrors.jenkins.io/war-stable/1.651.3/jenkins.war
4:部署Jenkins,这里我就不演示如何通过管理界面部署Tomcat的APP程序,这里直接将war包解压到部署目录即可,在/usr/local/tomcat/webapps目录下创建一个Jenkins目录
mkdir
/usr/local/tomcat/webapps/jenkins
cp jenkins.war
/usr/local/tomcat/webapps/jenkins
cd
/usr/local/tomcat/webapps/jenkins
jar xf jenkins.war
5:启动Tomcat,可以查看Tomcat的日志,看看Jenkins是否被部署成功
catalina.sh start
tail
-100f /usr/local/tomcat/logs/catalina.out
6:在浏览器访问
http://192.168.43.12:8080/jenkins/
7:直接使用jvm运行Jenkins
java -jar jenkins.war &
准备三个虚拟机,这是第二个虚拟机
第一个虚拟机按照上面的第三种方法安装
首先管理插件进去,可选插件安装3.0版本
![](https://i-blog.csdnimg.cn/blog_migrate/a0bc8abcebb14e3fb60937f8550ef961.png)
然后配置信息
![](https://i-blog.csdnimg.cn/blog_migrate/08d8aca0fa203deafcbb1c72e48cc629.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7b92cc03e8c0ccd2a8d32355a995bf1a.png)
cd /usr/local/maven/bin
ll
./mvn -v 复制路径
![](https://i-blog.csdnimg.cn/blog_migrate/9baa97b211cfab017a7847b04f8a2b5a.png)
别名和路径
ll /usr/local/maven/bin/mvn
保存,退出
第二个虚拟机安装
1:安装openjdk的devel包
yum install -y java
-1.8.0-openjdk-devel
2:也可以不使用自带的jetty容器,使用Tomcat容器运行Jenkins,安装JDK
vi
/etc/profile.d/java.sh,添加如下配置
export JAVA_HOME=/usr
. /etc/profile.d/java.sh
3:下载maven的二进制包
wget
http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
4:解压到对应的目录
tar xf apache-maven
-3.5.2-bin.tar.gz -C /usr/local/
ln -s
/usr/local/apache-maven-3.5.2 /usr/local/maven
5:在maven的安装目录下,有个/usr/local/maven/bin/mvn工具,这个工具是用于编译源码、构建、打包的。Jenkins就是将maven集成到自己的平台上对源码进行编译、构建、打包的
ll
/usr/local/maven/bin/mvn
搭建SVN
yum install -y subversion
mkdir
svnadmin create
[users]
uplooking =
123456
home =
123456
[/]
uplooking = rw
home = r
non-access = none
// 非授权用户没有权限
auth-access = write
// 授权用户有写权限,但是必须参考authz文件的设定
password-db = passwd
// 指定有权的用户
authz-db = authz
// 指定有权的用户的权限
realm = java
// 指定登入之后显示的提示信息
systemctl start svnserve.service
yum install -y httpd httpd-devel mod_dav_svn
LoadModule dav_lock_module modules/mod_dav_lock.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath
AuthType Basic
AuthName
"Authorization"
AuthUserFile
Require valid-user
</Location>
htpasswd -c -m
systemctl start httpd
chown -R apache.apache
http://192.168.43.11/svn/
安装小乌龟
首先svn checkout 右键
生成空文件
![](https://i-blog.csdnimg.cn/blog_migrate/dd8cd5f702f3e932ebf66084d7018a6b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1a9683f397b99875dbbeef5d242f4870.png)
右键添加源码包到svn上面
新建项目
![](https://i-blog.csdnimg.cn/blog_migrate/aba1e35673084b1587900e5731a3abfc.png)
这个用户是在httpd时候的用户
保存退出
在这里面有var包的路径,然后新开一台虚拟机,然后将包拷贝到另一台虚拟机上面,
yum install -y java-1.8.0-openjdk-devel
ll
du -sh edu.war
mkdir edu
ll
cd edu/
ll
jar xf /root/edu.war
ll
yum install -y tomcat
cd
cp edu.war /var/lib/tomcat/webapps/
ll /var/lib/tomcat/webapps/
systemctl start tomcat.service
tail -100f /var/log/tomcat/catalina.2017-11-06.log
ll
du -sh edu.war
mkdir edu
ll
cd edu/
ll
jar xf /root/edu.war
ll
yum install -y tomcat
cd
cp edu.war /var/lib/tomcat/webapps/
ll /var/lib/tomcat/webapps/
systemctl start tomcat.service
tail -100f /var/log/tomcat/catalina.2017-11-06.log
第三台虚拟机的操作