一、Jenkins概述
1、Jenkins的作用和用户类型
1)Jenkins的作用
持续集成:将不同的模块或者开发人员开发的功能进行整合;
持续交付:可以重复性更新程序或者软件项目;
持续部署:自动化部署软件项目,定期备份,部署项目异常回滚;
2)Jenkins使用的用户
开发人员:编写好的代码不需要手动编译打包工作,直接将代码提交到SVN或者git中保存;
运维人员:减轻管理员工作量,避免人工干预,减少错误率;
测试人员:方便进行简单的代码测试,避免出现程序逻辑错误;
2、Jenkins的特点和Jenkins的组件
1)Jenkins的特点
Jenkins使用JAVA语言编写的程序;
开源自动化运维工具;
提供开放的简单易用交付平台;
方便用户安装和配置软件开发项目;
提高软件开发效率,保证软件开发质量;
方便用户持续部署项目和测试项目;
2)Jenkins需要的组件
自动构建软件或者程序运行过程:自动编译源代码程序分发编译的程序到服务器、部署程序到服务器、测试部署服务;
代码存储库:存储用户开发的程序,控制程序的版本,使用SVN或者git;
持续集成服务:使用Jenkins持续部署开发的项目,对项目进行备份,发现项目异常进行回滚;
3、Jenkins的特征:
-
开源的Java语言开发持续继承工具,支持持续继承,持续部署;
-
易于安装部署配置:可通过yum安装,下载war包以及通过docker容器等快速实现安装部署,使用web界面配置管理;
-
消息通知及测试报告:集成RSS、E-mail通过RSS发布构建结果或者当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;
-
分布式构建:Jenkins可以让多台计算机一起构建/测试(主从构建);
-
文件识别:Jenkins可以跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等;
- 丰富的插件支持:1000+插件;
二、安装配置Jenkins
1、安装Jenkins
<!--此案例环境是Docker环境,连接公网,内存4GB,CPU2个-->
[root@centos01 ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
<!--下载Jenkins源-->
[root@centos01 ~]# rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key <!--导入jenkins公钥-->
[root@centos01 ~]# yum -y install java-1.8.0-openjdk-devel java-1.8.0-openjdk <!--安装JDK-->
[root@centos01 ~]# yum -y install jenkins <!--安装Jenkins-->
<!--网速慢的换需要等待很长时间-->
<!--或者通过离线包安装Jenkins,访问清华大学源网站,下载相应的Jenkins版本包,上传到服务器进行安装-->
<!--清华大学源网站:https://mirror.tuna.tsinghua.edu.cn/jenkins/-->
[root@centos01 ~]# ls
jenkins-2.238-1.1.noarch.rpm <!--上传离线rmp包安装jenkins-->
[root@centos01 ~]# rpm -ivh jenkins-2.238-1.1.noarch.rpm <!--通过离线包安装Jenkins-->
[root@centos01 ~]# systemctl start jenkins;systemctl enable jenkins
<!--启动Jenkins服务,设置开机自动启动-->
<!--或者-->
[root@centos01 ~]# /etc/init.d/jenkins start <!--启动jenkins-->
[root@centos01 ~]# /etc/init.d/jenkins restart <!--重新启动jenkins-->
[root@centos01 ~]# netstat -anptu |grep 8080 <!--监听tomcat端口是否启动-->
tcp6 0 0 :::8080 :::* LISTEN 6504/java
2、初始化Jenkins
1)访问Jenkins的web管理页面http://192.168.100.10:8080
2)获取管理员密码,也可以查看jenkins日志获取密码
[root@centos01 ~]# less /var/log/jenkins/jenkins.log
3)将jenkins默认推荐的插件装上
4)等待推荐插件安装完成
5)典型的各别插件安装失败,点击重试重新安装即可
6)新创建一个管理用户或者继续使用admin
7)访问Jenkins的URL
8)Jenkins插件安装完成
9)修改Jenkins主配置文件
[root@centos01 ~]# vim /etc/sysconfig/jenkins
10 JENKINS_HOME="/var/lib/jenkins"
29 JENKINS_USER="jenkins"
56 JENKINS_PORT="8080"
65 JENKINS_LISTEN_ADDRESS="192.168.100.10"
150 JENKINS_HANDLER_MAX="100"
[root@centos01 ~]# systemctl restart jenkins <!--重新启动Jenkins重新访问-->
3、安装publish over ssh插件
1)管理Jenkins插件
2)点击可选插件,搜索publish over ssh并直接安装
3)静静的等待他安装完成
4)下载完成自动重启Jenkins
5)重启完成后登录Jenkins,去已安装插件中验证publish over ssh是否安装成功
4、配置SSH
<!--需要再开一台服务器(100.20)-->
[root@centos01 ~]# ssh-keygen -t rsa <!--Jenkins服务器生成ssh密钥-->
[root@centos01 ~]# cat /etc/ssh/sshd_config | grep AuthorizedKeysFile
<!--查看Jenkins服务器自己公钥保存位置-->
AuthorizedKeysFile .ssh/authorized_keys
[root@centos01 ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys
<!--将Jenkins自己的公钥输入到公钥配置文件中保存-->
[root@centos01 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.100.20
<!--将Jenkins的ssh公钥拷贝到100.20服务器-->
[root@centos01 ~]# ssh root@192.168.100.20 <!--Jenkins服务器测试免密远程100.20-->
Last login: Mon Jun 1 16:10:06 2020 from 192.168.100.252
[root@centos02 ~]# exit <!---->
5、配置Jenkins系统
1)设置系统配置
2)Jenkins获取自动的私有并复制
[root@centos01 ~]# cat .ssh/id_rsa
3)添加Jenkins服务器的私钥
4)添加想要远程管理的客户端
5、Jenkins创建新任务
1)Jenkins创建新任务
2)编辑任务名称
3)编辑通过什么源码下载pipework网络管理工具
4)配置构建后的操作步骤
5)将Jenkins服务器自己和100.20客户端都添加进来并进行配置
6)查看是否构建成功
7)Jenkins服务器验证pipework网络管理工具是否下载成功
[root@centos01 ~]# cd /tmp/
[root@centos01 tmp]# ls
accp
akuma6688894331215680472jar
hsperfdata_jenkins
hsperfdata_root
jetty-0_0_0_0-8080-war-_-any-4925329859175627632.dir
jetty-0_0_0_0-8080-war-_-any-6066713579825404153.dir
jna21252815367201186jar
lua_SQXqZm
systemd-private-9d09bb5b9f5b4ffd8c3a65fa0bb96fa5-chronyd.service-vFbZSP
systemd-private-9d09bb5b9f5b4ffd8c3a65fa0bb96fa5-cups.service-AHVikS
systemd-private-9d09bb5b9f5b4ffd8c3a65fa0bb96fa5-vgauthd.service-75jObR
systemd-private-9d09bb5b9f5b4ffd8c3a65fa0bb96fa5-vmtoolsd.service-PBFEqQ
tmp.W114IMXVc4
winstone1052959205009407779.jar
winstone4171593767117190229.jar
[root@centos01 tmp]# ls accp/ <!--查看pipework工具是否下载成功-->
docker-compose.yml doctoc LICENSE pipework pipework.spec README.md
8)100.20客户端查看pipework网络管理工具是否下载成功
[root@centos02 ~]# cd /tmp/
[root@centos02 tmp]# ls
benet
systemd-private-4156eeb648fe41a4bcd4092c5d684853-chronyd.service-YBc3RX
systemd-private-4156eeb648fe41a4bcd4092c5d684853-cups.service-X7gmHo
systemd-private-4156eeb648fe41a4bcd4092c5d684853-vgauthd.service-BesDwC
systemd-private-4156eeb648fe41a4bcd4092c5d684853-vmtoolsd.service-tzaBYh
[root@centos02 tmp]# ls benet/ <!--查看pipework工具是否下载成功-->
docker-compose.yml doctoc LICENSE pipework pipework.spec README.md
9)可以将下载好的pipework网络管理工具打包下载到宿主机
10)删除pipework任务,以后不再自动更新下载pipework
————————————本文到此结束,感谢观看——————————————
来源:oschina
链接:https://my.oschina.net/u/4309525/blog/4305041