安装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个--> [ ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo <!--下载Jenkins源--> [ ~]# rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key <!--导入jenkins公钥--> [ ~]# yum -y install java-1.8.0-openjdk-devel java-1.8.0-openjdk <!--安装JDK--> [ ~]# yum -y install jenkins <!--安装Jenkins--> <!--网速慢的换需要等待很长时间--> <!--或者通过离线包安装Jenkins,访问清华大学源网站,下载相应的Jenkins版本包,上传到服务器进行安装--> <!--清华大学源网站:https://mirror.tuna.tsinghua.edu.cn/jenkins/--> [ ~]# ls jenkins-2.238-1.1.noarch.rpm <!--上传离线rmp包安装jenkins--> [ ~]# rpm -ivh jenkins-2.238-1.1.noarch.rpm <!--通过离线包安装Jenkins--> [ ~]# systemctl start jenkins;systemctl enable jenkins <!--启动Jenkins服务,设置开机自动启动--> <!--或者--> [ ~]# /etc/init.d/jenkins start <!--启动jenkins--> [ ~]# /etc/init.d/jenkins restart <!--重新启动jenkins--> [ ~]# 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日志获取密码
[ ~]# less /var/log/jenkins/jenkins.log
3)将jenkins默认推荐的插件装上
4)等待推荐插件安装完成
5)典型的各别插件安装失败,点击重试重新安装即可
6)新创建一个管理用户或者继续使用admin
7)访问Jenkins的URL
8)Jenkins插件安装完成
9)修改Jenkins主配置文件
[ ~]# 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" [ ~]# 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)--> [ ~]# ssh-keygen -t rsa <!--Jenkins服务器生成ssh密钥--> [ ~]# cat /etc/ssh/sshd_config | grep AuthorizedKeysFile <!--查看Jenkins服务器自己公钥保存位置--> AuthorizedKeysFile .ssh/authorized_keys [ ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys <!--将Jenkins自己的公钥输入到公钥配置文件中保存--> [ ~]# ssh-copy-id -i .ssh/id_rsa.pub <!--将Jenkins的ssh公钥拷贝到100.20服务器--> [ ~]# ssh <!--Jenkins服务器测试免密远程100.20--> Last login: Mon Jun 1 16:10:06 2020 from 192.168.100.252 [ ~]# exit <!---->
5、配置Jenkins系统
1)设置系统配置
2)Jenkins获取自动的私有并复制
[ ~]# cat .ssh/id_rsa
3)添加Jenkins服务器的私钥
4)添加想要远程管理的客户端
5、Jenkins创建新任务
1)Jenkins创建新任务
2)编辑任务名称
3)编辑通过什么源码下载pipework网络管理工具
4)配置构建后的操作步骤
5)将Jenkins服务器自己和100.20客户端都添加进来并进行配置
6)查看是否构建成功
7)Jenkins服务器验证pipework网络管理工具是否下载成功
[ ~]# cd /tmp/ [ 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 [ tmp]# ls accp/ <!--查看pipework工具是否下载成功--> docker-compose.yml doctoc LICENSE pipework pipework.spec README.md
8)100.20客户端查看pipework网络管理工具是否下载成功
[ ~]# cd /tmp/ [ 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 [ tmp]# ls benet/ <!--查看pipework工具是否下载成功--> docker-compose.yml doctoc LICENSE pipework pipework.spec README.md
9)可以将下载好的pipework网络管理工具打包下载到宿主机
10)删除pipework任务,以后不再自动更新下载pipework
————————————本文到此结束,感谢观看——————————————