免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
持續(xù)集成工具之Jenkins安裝部署

  一、DevOps理念

  所謂DevOps是指development和Operations的組合,中文意思就是開(kāi)發(fā)和運(yùn)維的簡(jiǎn)寫(xiě)。devops理念主要是針對(duì)企業(yè)中的研發(fā)人員、運(yùn)維人員和測(cè)試人員的工作理念,是他們?cè)趹?yīng)用開(kāi)發(fā)、代碼部署和質(zhì)量測(cè)試等整條生命周期中協(xié)作和溝通的最佳實(shí)踐DevOps 強(qiáng)調(diào)整個(gè)組織的合作以及交付和基礎(chǔ)設(shè)施變更的自動(dòng)化、從而實(shí)現(xiàn)持續(xù)集成、持續(xù)部署和持續(xù)交付。傳統(tǒng)的模式的開(kāi)發(fā)人員只顧開(kāi)發(fā)程序,運(yùn)維只負(fù)責(zé)基礎(chǔ)環(huán)境管理和代碼部署及監(jiān)控等,其并不是為了一個(gè)共同的目標(biāo)而共同實(shí)現(xiàn)最終的目的,而DevOps 則實(shí)現(xiàn)團(tuán)隊(duì)作戰(zhàn),即無(wú)論是開(kāi)發(fā)、運(yùn)維還是測(cè)試,都為了最終的代碼發(fā)布、持續(xù)部署和業(yè)務(wù)穩(wěn)定而付出各自的努力,從而實(shí)現(xiàn)產(chǎn)品設(shè)計(jì)、開(kāi)發(fā)、測(cè)試和部署的良性循環(huán),實(shí)現(xiàn)產(chǎn)品的最終持續(xù)交付。

  以上這張圖詮釋了什么是DevOps,devops在研發(fā)、運(yùn)維、測(cè)試當(dāng)中是三者的交集;有了devops理念,研發(fā)開(kāi)發(fā)流程高效,穩(wěn)定快速,交付結(jié)果可預(yù)期;測(cè)試根據(jù)開(kāi)發(fā)提交的代碼,進(jìn)行持續(xù)測(cè)試,提升了交付的質(zhì)量;而運(yùn)維也可以利用一些自動(dòng)化部署工具,將測(cè)試過(guò)得代碼,部署到線上;通過(guò)這樣一個(gè)過(guò)程,降低了運(yùn)維維護(hù)的成本;研發(fā)開(kāi)發(fā)的代碼,提交到倉(cāng)庫(kù),由測(cè)試人員從倉(cāng)庫(kù)中拉去代碼進(jìn)行測(cè)試,如果這中間有bug,測(cè)試會(huì)把測(cè)試的結(jié)果拿給開(kāi)發(fā)看,讓開(kāi)發(fā)改,經(jīng)過(guò)多次修改,代碼沒(méi)有問(wèn)題,然后再由運(yùn)維人員將測(cè)試過(guò)的代碼,部署到線上,通常在正式部署到線上時(shí),一般都不會(huì)一下子將所有服務(wù)器都更新,一般采取分批部署,灰度發(fā)布;所謂灰度發(fā)布指在業(yè)務(wù)訪問(wèn)不高的情況下,將一部分服務(wù)器從生產(chǎn)環(huán)境摘下,進(jìn)行代碼更新,然后再上線;經(jīng)過(guò)一段時(shí)間新上線的代碼沒(méi)有bug,然后再分批將其他服務(wù)器更新;如果上線后業(yè)務(wù)有異常,運(yùn)維人員會(huì)將上線都代碼立即回滾;這樣做可以最大化減少線上業(yè)務(wù)故障;

  devops流程

  上圖是devops理念的一個(gè)流程,從項(xiàng)目最早的計(jì)劃,到項(xiàng)目上線交付,后續(xù)的監(jiān)控形成了一個(gè)閉環(huán),這也體現(xiàn)了DevOps的核心理念團(tuán)隊(duì)協(xié)作、相互協(xié)助、持續(xù)發(fā)展;中間任何環(huán)節(jié)出現(xiàn)問(wèn)題,都會(huì)將項(xiàng)目回退到上一步,它們之間都是環(huán)環(huán)相扣的;比如在t測(cè)試沒(méi)有通過(guò),那么測(cè)試會(huì)將測(cè)試的結(jié)果告訴開(kāi)發(fā),說(shuō)代碼測(cè)試有bug,然后研發(fā)修改,直到測(cè)試通過(guò)才會(huì)到運(yùn)維手里,當(dāng)然運(yùn)維將項(xiàng)目部署到線上后,也要做監(jiān)控,如果上線后監(jiān)控到部分指標(biāo)有問(wèn)題,比如內(nèi)存消耗嚴(yán)重,cpu負(fù)載過(guò)高,這些問(wèn)題運(yùn)維一方面要考慮服務(wù)器本身是否有問(wèn)題,另一方面要考慮代碼的問(wèn)題;所以運(yùn)維要和開(kāi)發(fā)共同去協(xié)作,最終將問(wèn)題解決;

  持續(xù)集成(Continuous integration)簡(jiǎn)稱CI;所謂持續(xù)集成指多名開(kāi)發(fā)者在開(kāi)發(fā)不同功能代碼的過(guò)程當(dāng)中,可以頻繁的將代碼行合并到一起并切相互不影響工作。

  持續(xù)部署(continuous deployment)簡(jiǎn)稱CD;持續(xù)部署指是基于某種工具或平臺(tái)實(shí)現(xiàn)代碼自動(dòng)化的構(gòu)建、測(cè)試和部署到線上環(huán)境以實(shí)現(xiàn)交付高質(zhì)量的產(chǎn)品,持續(xù)部署在某種程度上代表了一個(gè)開(kāi)發(fā)團(tuán)隊(duì)的更新迭代速率。

  持續(xù)交付(Continuous Delivery)簡(jiǎn)稱CD;持續(xù)交付是在持續(xù)部署的基礎(chǔ)之上,將產(chǎn)品交付到線上環(huán)境,因此持續(xù)交付是產(chǎn)品價(jià)值的一種交付,是產(chǎn)品價(jià)值的一種盈利的實(shí)現(xiàn)。

  devops中常用的工具

  jenkins在devops中主要做持續(xù)集成的工作,它可以將開(kāi)發(fā)寫(xiě)的項(xiàng)目代碼從代碼倉(cāng)庫(kù)中拉去下來(lái),進(jìn)行代碼掃描、編譯、測(cè)試,部署到線上;

  jenkins是java語(yǔ)言編寫(xiě)的一款高度插件化的軟件,它的很多功能都是由插件實(shí)現(xiàn),擴(kuò)展功能我們安裝對(duì)應(yīng)的插件即可,非常方便靈活;除此之外,jenkins還可以在多臺(tái)機(jī)器上進(jìn)行分布式地構(gòu)建和負(fù)載測(cè)試。Jenkins是根據(jù)MIT許可協(xié)議發(fā)布的,因此可以自由地使用和分發(fā)。

  了解了上面的簡(jiǎn)介,我們?cè)賮?lái)說(shuō)說(shuō)jenkins的部署;

  二、環(huán)境準(zhǔn)備

  硬件環(huán)境:內(nèi)存建議4G+,Cpu:建議4核;當(dāng)然根據(jù)自身環(huán)境的規(guī)模,確定硬件配置是比較妥當(dāng)?shù)淖龇ǎ?/p>

  準(zhǔn)備java環(huán)境

  1、安裝java8

[root@node05 ~]# yum install ./jdk-8u191-linux-x64.rpm 
Loaded plugins: fastestmirror
Examining ./jdk-8u191-linux-x64.rpm: 2000:jdk1.8-1.8.0_191-fcs.x86_64
Marking ./jdk-8u191-linux-x64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package jdk1.8.x86_64 2000:1.8.0_191-fcs will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================
 Package           Arch              Version                          Repository                       Size
============================================================================================================
Installing:
 jdk1.8            x86_64            2000:1.8.0_191-fcs               /jdk-8u191-linux-x64            288 M

Transaction Summary
============================================================================================================
Install  1 Package

Total size: 288 M
Installed size: 288 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 2000:jdk1.8-1.8.0_191-fcs.x86_64                                                         1/1 
Unpacking JAR files...
        tools.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...
  Verifying  : 2000:jdk1.8-1.8.0_191-fcs.x86_64                                                         1/1 

Installed:
  jdk1.8.x86_64 2000:1.8.0_191-fcs                                                                          

Complete!
[root@node05 ~]#

  提示:java8我們可以直接安裝openjdk;也可以去oracle官網(wǎng)下載二進(jìn)制包解壓安裝;我這里直接安裝oracle的rpm包jdk;

  驗(yàn)證java環(huán)境

[root@node05 ~]# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
[root@node05 ~]# 

  提示:如果安裝了jdk以后,一定要確認(rèn)能夠使用java -version打印出java對(duì)應(yīng)的版本,打印出版本說(shuō)明我們安裝的java環(huán)境才沒(méi)有問(wèn)題;以上是yum安裝rpm包的方式部署java環(huán)境;

  配置二進(jìn)制包java環(huán)境

[root@node06 ~]# cd /usr/local/src/
[root@node06 src]# rz
rz waiting to receive.
 zmodem trl+C ?

  100%  185366 KB 37073 KB/s 00:00:05       0 Errors.gz...

[root@node06 src]# ll
total 185368
-rw-r--r-- 1 root root 189815615 Aug 20  2019 jdk-8u162-linux-x64.tar.gz
[root@node06 src]# tar xf jdk-8u162-linux-x64.tar.gz 
[root@node06 src]# ll
total 185368
drwxr-xr-x 8   10  143       255 Dec 20  2017 jdk1.8.0_162
-rw-r--r-- 1 root root 189815615 Aug 20  2019 jdk-8u162-linux-x64.tar.gz
[root@node06 src]# ln -sv /usr/local/src/jdk1.8.0_162 /usr/local/jdk
'/usr/local/jdk’ -> '/usr/local/src/jdk1.8.0_162’
[root@node06 src]# 

  以上把jdk安裝到/usr/local/目錄下,接下來(lái)到處java環(huán)境

[root@node06 src]# cat /etc/profile.d/java.sh 
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jie/lib:$JAVA_HOME/lib/tools.jar
[root@node06 src]#

  驗(yàn)證:重啟服務(wù)器,等服務(wù)器啟動(dòng)好了,看看在命令行能否使用java -version命令打印出對(duì)應(yīng)java8的版本信息

[root@node06 ~]# java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
[root@node06 ~]# 

  提示:如果重啟后使用java -version能夠看到對(duì)應(yīng)java的版本,說(shuō)明java環(huán)境就沒(méi)有問(wèn)題;

  準(zhǔn)備好java環(huán)境,接著我們下載去官網(wǎng)下載jenkins;jenkins的官方網(wǎng)站是https://www.jenkins.io/;找到download頁(yè)面,選擇對(duì)應(yīng)的系統(tǒng)

  提示:官方告訴我們說(shuō),配置jenkins的倉(cāng)庫(kù),然后使用yum install jenkins 命令來(lái)安裝jenkins;并且官方建議使用openjdk;

  安裝openjdk

[root@node04 ~]# yum install -y java-1.8.0-openjdk-devel

  驗(yàn)證java環(huán)境

  2、配置jenkins倉(cāng)庫(kù)

[root@node04 ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
--2020-10-12 22:26:39--  https://pkg.jenkins.io/redhat-stable/jenkins.repo
Resolving pkg.jenkins.io (pkg.jenkins.io)... 151.101.110.133, 2a04:4e42:1a::645
Connecting to pkg.jenkins.io (pkg.jenkins.io)|151.101.110.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 85
Saving to: '/etc/yum.repos.d/jenkins.repo’

100%[==================================================================>] 85          --.-K/s   in 0s      

2020-10-12 22:26:57 (3.30 MB/s) - '/etc/yum.repos.d/jenkins.repo’ saved [85/85]

[root@node04 ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
  [root@node04 ~]#   

  三、安裝jenkins

[root@node04 ~]# yum install -y jenkins
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package jenkins.noarch 0:2.249.2-1.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================
 Package                 Arch                   Version                       Repository               Size
============================================================================================================
Installing:
 jenkins                 noarch                 2.249.2-1.1                   jenkins                  64 M

Transaction Summary
============================================================================================================
Install  1 Package

Total download size: 64 M
Installed size: 64 M
Downloading packages:
jenkins-2.249.2-1.1.noarch.rpm                                                       |  64 MB  00:01:41     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : jenkins-2.249.2-1.1.noarch                                                               1/1 
  Verifying  : jenkins-2.249.2-1.1.noarch                                                               1/1 

Installed:
  jenkins.noarch 0:2.249.2-1.1                                                                              

Complete!
[root@node04 ~]# 

  查看jenkins安裝了那些文件

[root@node04 ~]# 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
[root@node04 ~]# 

  提示:/etc/sysconfig/jenkins是jenkins的配置文件;/usr/lib/jenkins/jenkins.war這個(gè)是jenkins的主程序war包;/var/lib/jenkins這個(gè)是jenkins的數(shù)據(jù)目錄,通常這個(gè)目錄我們應(yīng)該掛載一個(gè)較大的存儲(chǔ),后續(xù)jenkins拉取代碼就存放在此處;/var/log/jenkins這個(gè)是jenkins的日志存放目錄;

  編輯jenkins的配置文件

  提示:JENKINS_HOME用來(lái)指定jenkins的數(shù)據(jù)目錄;默認(rèn)是在/var/lib/jenkins目錄;JENKINS_USER是用來(lái)指定jenkins的啟動(dòng)用戶,默認(rèn)是jenkins;如果不更改啟動(dòng)用戶,使用默認(rèn)用戶,后續(xù)我們拖代碼,編譯,測(cè)試都是基于這個(gè)用戶的權(quán)限去做,所以后續(xù)要注意其他服務(wù)器上對(duì)這個(gè)用戶的權(quán)限;通常jenkins平臺(tái)都不會(huì)對(duì)外,都是在內(nèi)網(wǎng)中使用,所以更改成root也是可以的,如果你不想麻煩,建議修改成root;后續(xù)其他配置幾乎不用更改,保存上面的配置,我們就可以啟動(dòng)jenkins了;

  啟動(dòng)jenkins,并把它設(shè)置為開(kāi)機(jī)啟動(dòng)

  提示:設(shè)置jenkins開(kāi)機(jī)啟動(dòng),需要用chkconfig命令去設(shè)置,原因是它沒(méi)有提供unit file腳本文件;當(dāng)然啟動(dòng)也是可以使用service命令去啟動(dòng);

  用瀏覽器訪問(wèn)8080端口

  提示:jenkins的啟動(dòng)稍微有點(diǎn)慢,我們這里耐心等待就好;如果內(nèi)存小了,會(huì)等很久才起來(lái);

  提示:這里提示我們把上面輸入管理員密碼;這個(gè)管理員密碼默認(rèn)保存在/var/lib/jenkins/secrets/initialAdminPassword,我們把密碼復(fù)制過(guò)來(lái)貼到此處就好;

  提示:這里我們選擇推薦安裝就好,因?yàn)榈谝淮芜\(yùn)行,我們也不知道安裝那些插件,后續(xù)如果用到其他插件,我們?cè)侔惭b即可;

  提示:這里我們耐心等待插件全部安裝好;這里安裝插件和本地服務(wù)器網(wǎng)絡(luò)有關(guān),如果在這一步插件有些沒(méi)有安裝成功,可以重試,或者直接到j(luò)enkins主頁(yè)里面的插件管理里面找到對(duì)應(yīng)的插件,安裝即可;

 

  提示:這里是創(chuàng)建一個(gè)管理員賬號(hào),如果我們不想使用默認(rèn)的admin賬號(hào)可以創(chuàng)建一個(gè)管理員賬號(hào),當(dāng)然我們也可以直接使用admin賬號(hào);

  提示:這里是填寫(xiě)訪問(wèn)jenkins的url地址;保持默認(rèn)就好;

  提示:到此jenkins就安裝好了;我們可以點(diǎn)擊開(kāi)始使用jenkins,看看jenkins的首頁(yè);

  提示:這里有些地方漢化的不是很好,重啟jenkins再登錄jenkins就好了;

  好了jenkins首頁(yè)就長(zhǎng)這樣,到此jenkins的初始化配置就完成了;后續(xù)我們可以在里面用到什么功能再下載相應(yīng)的插件,配置對(duì)應(yīng)的功能就好;

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
自動(dòng)化部署之jenkins及簡(jiǎn)介
持續(xù)集成(Jenkins)和sonar搭建指引
Linux環(huán)境搭建 jmeter+jenkins+ant環(huán)境,Linux下安裝JDK、jmeter、ant、jenkins
Linux下的Jenkins+Tomcat+Maven+Git+Shell環(huán)境的搭建使用(jenkins自動(dòng)化部署)
Jenkins入門(mén)(二)
持續(xù)集成之 Jenkins 的安裝與配置(一)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服