longzhanpeng 2020-06-08
持续集成:将不同的模块或者开发人员开发的功能进行整合;
持续交付:可以重复性更新程序或者软件项目;
持续部署:自动化部署软件项目,定期备份,部署项目异常回滚;
开发人员:编写好的代码不需要手动编译打包工作,直接将代码提交到SVN或者git中保存;
运维人员:减轻管理员工作量,避免人工干预,减少错误率;
测试人员:方便进行简单的代码测试,避免出现程序逻辑错误;
Jenkins使用JAVA语言编写的程序;
开源自动化运维工具;
提供开放的简单易用交付平台;
方便用户安装和配置软件开发项目;
提高软件开发效率,保证软件开发质量;
方便用户持续部署项目和测试项目;
自动构建软件或者程序运行过程:自动编译源代码程序分发编译的程序到服务器、部署程序到服务器、测试部署服务;
代码存储库:存储用户开发的程序,控制程序的版本,使用SVN或者git;
持续集成服务:使用Jenkins持续部署开发的项目,对项目进行备份,发现项目异常进行回滚;
开源的Java语言开发持续继承工具,支持持续继承,持续部署;
易于安装部署配置:可通过yum安装,下载war包以及通过docker容器等快速实现安装部署,使用web界面配置管理;
消息通知及测试报告:集成RSS、E-mail通过RSS发布构建结果或者当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;
分布式构建:Jenkins可以让多台计算机一起构建/测试(主从构建);
文件识别:Jenkins可以跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等;
<!--此案例环境是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
[ ~]# less /var/log/jenkins/jenkins.log
[ ~]# 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重新访问-->
<!--需要再开一台服务器(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 <!---->
[ ~]# cat .ssh/id_rsa
[ ~]# 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
[ ~]# 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
————————————本文到此结束,感谢观看——————————————