持續集成:將不一樣的模塊或者開發人員開發的功能進行整合;
持續交付:能夠重複性更新程序或者軟件項目;
持續部署:自動化部署軟件項目,按期備份,部署項目異常回滾;java
開發人員:編寫好的代碼不須要手動編譯打包工做,直接將代碼提交到SVN或者git中保存;
運維人員:減輕管理員工做量,避免人工干預,減小錯誤率;
測試人員:方便進行簡單的代碼測試,避免出現程序邏輯錯誤;git
Jenkins使用JAVA語言編寫的程序;
開源自動化運維工具;
提供開放的簡單易用交付平臺;
方便用戶安裝和配置軟件開發項目;
提升軟件開發效率,保證軟件開發質量;
方便用戶持續部署項目和測試項目;web
自動構建軟件或者程序運行過程:自動編譯源代碼程序分發編譯的程序到服務器、部署程序到服務器、測試部署服務;docker
代碼存儲庫:存儲用戶開發的程序,控制程序的版本,使用SVN或者git;vim
持續集成服務:使用Jenkins持續部署開發的項目,對項目進行備份,發現項目異常進行回滾;centos
開源的Java語言開發持續繼承工具,支持持續繼承,持續部署;tomcat
易於安裝部署配置:可經過yum安裝,下載war包以及經過docker容器等快速實現安裝部署,使用web界面配置管理;服務器
消息通知及測試報告:集成RSS、E-mail經過RSS發佈構建結果或者當構建完成時經過e-mail通知,生成JUnit/TestNG測試報告;網絡
分佈式構建:Jenkins可讓多臺計算機一塊兒構建/測試(主從構建);less
文件識別:Jenkins能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪一個版本的jar等;
<!--此案例環境是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
[root@centos01 ~]# less /var/log/jenkins/jenkins.log
[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從新訪問-->
<!--須要再開一臺服務器(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 <!---->
[root@centos01 ~]# cat .ssh/id_rsa
[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
[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
————————————本文到此結束,感謝觀看——————————————