国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

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

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

開(kāi)通VIP
高效率、低風(fēng)險(xiǎn),一鍵發(fā)布并測(cè)試的持續(xù)集成工具Jenkins

作者|張輝清、楊麗
編輯|雨多田光

文末有本專題系列文章

一、Jenkins 簡(jiǎn)介

當(dāng)每月發(fā)布次數(shù)變得越來(lái)越多時(shí),如超過(guò) 200 次,發(fā)布工作人員的工作量會(huì)翻倍,此時(shí)由人工發(fā)布操作失誤引起的風(fēng)險(xiǎn)會(huì)變得越來(lái)越大。為了提高項(xiàng)目的發(fā)布效率,也為了降低由人工操作失誤帶來(lái)的風(fēng)險(xiǎn),需要引進(jìn)持續(xù)集成工具。

Jenkins 是一個(gè)用 Java 語(yǔ)言編寫(xiě)的開(kāi)源持續(xù)集成工具,最開(kāi)始被稱作 Hudson。Jenkins 在持續(xù)集成領(lǐng)域市場(chǎng)份額中居于主導(dǎo)地位,被各種大小規(guī)模的團(tuán)隊(duì)用于用各種語(yǔ)言實(shí)現(xiàn)的各類項(xiàng)目中,語(yǔ)言包括.NET、Java、Ruby、Groovy、Grails、PHP 等。選擇 Jenkins 的理由如下:

  • 易于使用:Jenkins 的用戶界面簡(jiǎn)單、直觀、友好,發(fā)布工作人員只需要通過(guò)簡(jiǎn)單的 UI 操作就可以替代原來(lái)繁瑣的發(fā)布工作。

  • 擁有良好的擴(kuò)展性:提供數(shù)以百計(jì)的開(kāi)源插件可供使用,而且?guī)缀趺恐軙?huì)有新的開(kāi)源插件貢獻(xiàn)進(jìn)來(lái),這些插件的安裝都十分快捷和簡(jiǎn)單。

  • 發(fā)展良好:Jenkins 開(kāi)源社區(qū)的規(guī)模變得越來(lái)越大、活躍度也變得越來(lái)越高,發(fā)展速度非常快。

二、Jenkins 插件及相關(guān)工具

1、Jenkins:持續(xù)集成工具。

2、Git:源代碼管理工具,是目前流行的分布式版本控制系統(tǒng)。需要安裝的 Jenkins 插件有:

3、TFS:可選,源代碼管理工具。

4、MSBuild:Visual Studio 中自帶的一個(gè)程序編譯組件。需要安裝的 Jenkins 插件是 MSBuild Plugin 插件。

5、FTP:可選,通過(guò) FTP 把編譯好的發(fā)布文件部署到應(yīng)用服務(wù)器中。需要安裝的 Jenkins 插件是 Publish Over FTP 插件。

6、Jenkins 角色及權(quán)限管理:需要安裝的 Jenkins 插件是 Role-based Authorization Strategy 插件。

7、Python 腳本:自寫(xiě)的 Python 腳本放在 Jenkins 服務(wù)器中??梢詫?shí)現(xiàn) Jenkins 把編譯好的發(fā)布文件部署到遠(yuǎn)程應(yīng)用站點(diǎn)服務(wù)器,以及實(shí)現(xiàn)回滾操作 Rollback。

8、PxExec.exe 工具:裝在 Jenkins 服務(wù)器中,利用這個(gè)工具,可以在遠(yuǎn)程服務(wù)器中執(zhí)行命令如 xcopy。

9、SoapUI 自動(dòng)化測(cè)試:用于接口測(cè)試自動(dòng)化,同時(shí)需要安裝的 Jenkins 插件是 HTML Publisher plugin 插件。

10、回滾操作 Rollback:需要安裝的 Jenkins 插件是 Build with Parameters,用于指定哪個(gè)項(xiàng)目回滾到哪個(gè)備份版本。

三、Jenkins 關(guān)鍵配置

3.1、郵件配置

Email 是 Jenkins 最基本的通知技術(shù)。什么情況下,需要 Jenkins 發(fā)送電子郵件通知?例如,在一個(gè)構(gòu)建失?。ɡ缫?yàn)榫幾g錯(cuò)誤)后。

3.2、角色及權(quán)限管理

首先設(shè)置全局角色和項(xiàng)目角色,其中 Pattern 是用來(lái)設(shè)置構(gòu)建作業(yè)名的命名規(guī)范,例如:規(guī)定了構(gòu)建作業(yè)名的命名規(guī)范是{發(fā)布環(huán)境}.{產(chǎn)品線英文名全稱}.{項(xiàng)目名},那么要發(fā)到生產(chǎn)環(huán)境、屬于 Trip 產(chǎn)品線的所有構(gòu)建作業(yè),其 Pattern 設(shè)置的值為【(?i)prod.trip.*】,表示構(gòu)建作業(yè)名必須以 prod.trip 開(kāi)頭,而且不區(qū)分大小寫(xiě),用于發(fā)布到生產(chǎn)環(huán)境。

然后,分別為 Jenkins 賬號(hào)分派全局角色和項(xiàng)目角色:

3.3、部署到集群

Jenkins 通過(guò)運(yùn)行自寫(xiě)的 Python 腳本把編譯好的發(fā)布文件部署到遠(yuǎn)程應(yīng)用站點(diǎn)服務(wù)器中,以及同步到集群內(nèi)其他應(yīng)用站點(diǎn)服務(wù)器,所以需要新增構(gòu)建步驟配置,參考如下:

其中,.py 腳本(即 Python 腳本)內(nèi)容如下:

.py 腳本實(shí)現(xiàn)了如下邏輯

第 1 步、備份

在遠(yuǎn)程應(yīng)用站點(diǎn)服務(wù)器中,備份將要部署新版本的那個(gè)應(yīng)用系統(tǒng)的所有文件。利用 PxExec.exe 工具,讓 Jenkins 服務(wù)器遠(yuǎn)程連到應(yīng)用站點(diǎn)服務(wù)器。然后在這臺(tái)應(yīng)用站點(diǎn)服務(wù)器中,利用 xcopy 命令,把將要部署新版本的這個(gè)應(yīng)用系統(tǒng)站點(diǎn)目錄之下的所有文件拷貝到這臺(tái)應(yīng)用站點(diǎn)服務(wù)器中的備份目錄下。

第 2 步、部署

部署到這臺(tái)遠(yuǎn)程應(yīng)用站點(diǎn)服務(wù)器。先利用 xcopy 命令,把由 Jenkins 編譯好的、位于 Jenkins 服務(wù)器的文件拷貝到這臺(tái)應(yīng)用站點(diǎn)服務(wù)器共享目錄之下,以.config 結(jié)尾的配置文件不會(huì)被拷貝。再利用 PxExec.exe 工具,讓 Jenkins 服務(wù)器遠(yuǎn)程連到這臺(tái)應(yīng)用站點(diǎn)服務(wù)器。然后在這臺(tái)應(yīng)用站點(diǎn)服務(wù)器中,利用 xcopy 命令,把臨時(shí)存放目錄下的文件拷貝到這個(gè)應(yīng)用系統(tǒng)站點(diǎn)目錄之下。

第 3 步、同步

同步發(fā)布文件到該應(yīng)用系統(tǒng)集群內(nèi)的其他應(yīng)用站點(diǎn)服務(wù)器。利用 PxExec.exe 工具,讓 Jenkins 服務(wù)器遠(yuǎn)程連到這臺(tái)應(yīng)用站點(diǎn)服務(wù)器,然后在這臺(tái)應(yīng)用站點(diǎn)服務(wù)器中,利用 xcopy 命令,把該應(yīng)用系統(tǒng)站點(diǎn)目錄下的所有文件拷貝到集群內(nèi)的其他應(yīng)用站點(diǎn)服務(wù)器的該應(yīng)用系統(tǒng)站點(diǎn)目錄之下。

3.4、SoapUI 接口自動(dòng)化測(cè)試

測(cè)試用例提交到版本庫(kù)(如 Git)后,通過(guò) Jenkins 把它編譯,編譯后,通過(guò) SoapUI 一鍵調(diào)用,開(kāi)始自動(dòng)化測(cè)試。一旦自動(dòng)化測(cè)試完成,會(huì)生成報(bào)表,通過(guò) HTML Report 把它給呈現(xiàn)出來(lái),如下圖所示。

3.5、UFT 界面自動(dòng)化測(cè)試

3.6、回滾操作 Rollback

General 配置:

構(gòu)建配置:

選擇將要回滾哪個(gè)項(xiàng)目以及回滾到哪個(gè)備份版本號(hào):

3.7、暫未解決的問(wèn)題

  • 1、數(shù)據(jù)庫(kù)發(fā)布與回滾。

  • 2、應(yīng)用配置文件的發(fā)布與回滾。

  • 3、加入 QA 流程控制,經(jīng)過(guò)測(cè)試工程師確定后,方可發(fā)布。

以上三個(gè)問(wèn)題也可以借助其它工具來(lái)實(shí)現(xiàn),分別是數(shù)據(jù)庫(kù)發(fā)布工具、集中式配置服務(wù)、流程管理工具甚至郵件確認(rèn)。

四、總結(jié),Jenkins 使用價(jià)值
  • 減少發(fā)布工作人員的大量日常工作量,大大提高項(xiàng)目的發(fā)布效率。

  • 不容易出錯(cuò),降低人工發(fā)布帶來(lái)的風(fēng)險(xiǎn)。

  • 可 24 小時(shí)隨時(shí)發(fā)布。

  • 方便緊急修復(fù)或回滾操作 Rollback。

  • 方便對(duì)發(fā)布流程進(jìn)行控制、標(biāo)準(zhǔn)化。

  • 方便發(fā)布統(tǒng)計(jì)、歷史版本可追溯。

五、更多資料
  • Jenkins 官網(wǎng)

    https://jenkins.io/index.html

  • SoapUI 官網(wǎng)

    https://www.soapui.org/

作者介紹

張輝清,10 多年的 IT 老兵,先后擔(dān)任攜程架構(gòu)師、古大集團(tuán)首席架構(gòu)、中青易游 CTO 等職務(wù),主導(dǎo)過(guò)兩家公司的技術(shù)架構(gòu)升級(jí)改造工作?,F(xiàn)關(guān)注架構(gòu)與工程效率,技術(shù)與業(yè)務(wù)的匹配與融合,技術(shù)價(jià)值與創(chuàng)新。

楊麗,擁有多年互聯(lián)網(wǎng)應(yīng)用系統(tǒng)研發(fā)經(jīng)驗(yàn),曾就職于古大集團(tuán),現(xiàn)任職中青易游的系統(tǒng)架構(gòu)師,主要負(fù)責(zé)公司研發(fā)中心業(yè)務(wù)系統(tǒng)的架構(gòu)設(shè)計(jì)以及新技術(shù)積累和培訓(xùn)?,F(xiàn)階段主要關(guān)注開(kāi)源軟件、軟件架構(gòu)、微服務(wù)以及大數(shù)據(jù)。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
soapui腳本
我的devops實(shí)踐經(jīng)驗(yàn)分享一二
為什么QQ空間打不開(kāi)?打不開(kāi)QQ空間的八種解決方法
[jenkins工具]之一:持續(xù)集成和jenkins入門(mén)介紹
如何選擇API測(cè)試工具,看這篇就夠了
7個(gè)變革DevOps的工具
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服