国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹

這篇具有很好參考價值的文章主要介紹了第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

什么是CI/Cd?

CI-Continuous integration持續(xù)集成是指多名開發(fā)者在開發(fā)不同功能代碼的過程當中,可以頻繁的將代嗎行合并到一起并切相互不影響工作。
CD-continuous deployment持續(xù)部署是基于某種工具或平臺實現(xiàn)代碼自動化的構(gòu)建、測試和部署到線上環(huán)境以實現(xiàn)交付高質(zhì)量的產(chǎn)品,持續(xù)部署在某種程度上代表了一個開發(fā)團隊的更新迭代速率。
Continuous Delivery: 持續(xù)交付是在持續(xù)部署的基礎之上,將產(chǎn)品交付到線上環(huán)境,因此持續(xù)交付是產(chǎn)品價值的一種交付,是產(chǎn)品價值的一種盈利的實現(xiàn)。

  • 持續(xù)交付并不是指軟件每一個改動都要盡快的部署到產(chǎn)品環(huán)境中。它指的是任何的修改都已證明可以在任何時候?qū)嵤┎渴稹?持續(xù)
  • 交付(Continuous Delivery)是一系列的開發(fā)實踐方法,用來確保讓代碼能夠快速安全的部署到產(chǎn)品環(huán)境中,它通過將每一次改動都提交到一個模擬產(chǎn)品環(huán)境中,使用嚴格的自動化測試,確保業(yè)務應用和服務能符合預期。因為使用完全的自動化過程來把每個變更自動的提交到測試環(huán)境中,所以當業(yè)務開發(fā)完成時,你有信心只需要按一次按鈕就能將應用安全的部署到產(chǎn)品環(huán)境中。

特點:

  • 通常將側(cè)重研發(fā)側(cè)的過程稱為CI(持續(xù)集成),側(cè)重正式環(huán)境部署的過程稱為CD(持續(xù)交付)
  • 一般不單獨提持續(xù)部署(ContinuousDeployment)
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

主要工具:

  • 代碼倉庫:Git進行管理;靜態(tài)檢查;Sonar集成
  • 單元測試:Junit;單測覆蓋率
  • JaCoCo插件;編譯打包;
  • 集成部署: she11腳本/服務接口;
  • 自動化測試:RobotFrameWork,
  • 自動化測試平臺;CI報告;Sonar。
  • Gitlab+Jenkins+SonarQube+阿里EDAS平臺+RF自動化測試套件等.

第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

一、CI-持續(xù)集成

Martin Flowler對持續(xù)集成是這樣定義的:持續(xù)集成是一種軟件開發(fā)實踐,即團隊開發(fā)成員經(jīng)常集成它們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建 (包括編譯,部署,自動化測試)來驗證,從而盡快地發(fā)現(xiàn)集成錯誤。許多團隊發(fā)現(xiàn)這個過程可以大大減少集成的問題,讓團隊能夠更快的開發(fā)內(nèi)聚的軟件。

常用工具:

  • 代碼管理:gitlab(企業(yè)自建),gitee(企業(yè)租戶形式使用)
  • 持續(xù)集成:jenkins

1.1 安裝部署gitlab

  • 官網(wǎng):官網(wǎng),中文官網(wǎng)
  • 注意:建議安裝的gitlab在虛擬機中至少給到2G以上內(nèi)存,不然可能會安裝不成功,卡在某個地方報錯
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
    1、下載鏡像
    由于官網(wǎng)鏡像太慢,所以在國內(nèi)開源鏡像站中查找。如:清華大學開源軟件鏡像站
  • 搜索gitlab鏡像(目前使用社區(qū)版),下載最新。鏡像列表地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

2、登錄服務器,下載鏡像

# 下載
wget https://mirrors.tuna.tsingua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.9.4-ce..el7.x864.rpm
# 安裝郵件服務postfix(gitlab依賴)
yum install postfix
# 啟動郵件服務
systemctl start postfix
# 安裝gitlab
rpm -ivh gitlab-ce-14.9.4-ce.0.el7.x86_64.rpm

3、安裝完成后,根據(jù)提示設置訪問地址
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

# 修改添加gitlab的訪問地址
vim /etc/gitlab/gitlab.rb
# 進入gitlab.rb編輯內(nèi)容中后-----
external_url 'http://192.168.xx.xx:8000'
# :wq 保存并退出編輯----- ip試自身環(huán)境定
# 開放端口號
firewall-cmd --permanent --zone=public --add-port=8000/tcp
# 重啟防火墻
firewall-cmd --reload
# 查看當前開放端口
firewall-cmd --list-ports
# 重置gitla
gitlab-ctl reconfigure
# 重啟gitlab服務
gitlab-ctl restart

4、重啟完成后,根據(jù)external_url訪問gitlab

  • 當遇到502時,可以嘗試多刷新幾次
  • 如果一直無法訪問,就通過gitlab-ctl status查看運行狀態(tài)
  • 登錄默認為root,初始密碼默認在/etc/gitlab/initial_root_password中查看,登錄gitlab后自定設置
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

二、gitlab CI配置

本節(jié)假設已建立一個vue3-vite項目的倉庫,并在項目根目錄新建.gitlab-ci.yml

  • gitlab-ci配置的保留字:image(使用docker image),services(使用docker service),stages(定義工作階段),types(stage的別名),before_script(在工作任務執(zhí)行前執(zhí)行的腳本命令),after_script(在任務執(zhí)行結(jié)束后執(zhí)行的腳本命令),variables(定義變量)
  • 配置文件示例
# stages:是保留字,用于定義工程執(zhí)行的階段
stages:
    - build
    - deploy
# build_job: job名稱,可以自定義    
build_job:
    stage: build
    script: 
    	- 'echo "start build"'
    	- 'echo "多行輸出"'
    
deploy_job:
    stage: deploy
    script: 'echo "start deploy"'
  • 以上只是簡單的gitlab-ci配置,而要構(gòu)建gitlab流水線,需要搭配使用runner,runner的安裝一般由管理員部署實現(xiàn),這里略過了。

三、jenkins實現(xiàn)CI / CD

官網(wǎng)地址, jenkins中文網(wǎng)

第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

3.1 安裝jenkins

以centos系統(tǒng)安裝為例,官網(wǎng)參考:https://pkg.jenkins.io/redhat-stable/

  • 注意:jenkins依賴于java,所以需要先安裝java jdk
  • 根據(jù)官網(wǎng)文檔要求,在對應服務器上下載java及jinkins安裝包
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
# 安裝(已下載jenkins-2.332.3-1.1.noarch.rpm安裝包
rpm -ivh jenkins-2.332.3-1.1.noarch.rpm
# 查看jenkins配置文件
vim /etc/init.d/jenkins
# 修改配置(端口或USER,視情況定)
vim /etc/sysconfig/jenkins
# 啟動jenkins(首次啟動較慢,可能需要四五分鐘)
service jenkins start
# 獲取初始密碼
tail /var/lib/jenkins/secrets/initialAdminPassword

解鎖jenkins獲取初始密碼
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

  • 首次啟動會推薦安裝插件,但安裝會耗時很久,所以建議不安裝推薦插件,點擊“選擇插件來安裝”后,不勾選插件從而進入下一步。
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

  • 創(chuàng)建管理員用戶
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

  • 配置實例(默認不改就好)
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

進入系統(tǒng)后,顯示歡迎頁:
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

  • 添加中文插件(Manage Jenkins左側(cè)菜單——》Manage Plugins——》available標簽頁)
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

3.2 配置CI

1、創(chuàng)建新任務并命名
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
2、關(guān)聯(lián)gitlab倉庫
此處需要先安裝git插件
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
在jenkins安裝對應服務器上安裝git

# 安裝
yum install -y git
# 測試安裝是否完成
git --version
  • 配置源碼管理
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
  • 添加憑據(jù),向下選擇是否切換分支
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
  • 點擊構(gòu)建,測試是否成功
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

/var/lib/jenkins/workspace是jenkins的默認工作目錄,在里面可以看到上一步構(gòu)建拉取到的項目文件

  • 新增構(gòu)建步驟(進入上一步新建任務的配置中)
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
  • 配置shell
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

3.3 配置CD

1、基于上一步的執(zhí)行shell腳本中,繼續(xù)添加shell

  • jenkins的默認工作路徑為/var/lib/jenkins/workspace/DemoTest,但不排除有時不是這個路徑,所以可以使用jenkins環(huán)境變量的方式來直接進入。
  • 項目工程工作路徑目錄環(huán)境變量: $WORKSPACE(Linux環(huán)境中),如jenkins安裝在windows系統(tǒng)下,則是%變量名%的形式
cd $WORKSPACE
# 安裝依賴
npm install
# 打包
npm run build
# 進入打包后目錄
cd dist
# 壓縮前先刪除已有壓縮包
rm -f demotest.tar.gz
# 壓縮所有文件
tar -zcvf demotest.tar.gz *
# 查看dist目錄
ll

第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
2、將上一步的壓縮包,傳到nginx服務器
- 先安裝 publish over ssh插件(用于推送壓縮包)
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

  • 配置Publish Over ssh (對應nginx服務根目錄)
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
  • 添加構(gòu)建后操作
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
  • 添加構(gòu)建后操作配置(注意:對應nginx服務器上已創(chuàng)建demotest文件夾的前提下,且配置了nginx對demotest路徑的配置)
    第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

3.4 其他構(gòu)建方式

1、定時構(gòu)建

1、打開demotest任務的配置,切到構(gòu)建觸發(fā)器
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

2、指定參數(shù)構(gòu)建

1、安裝git parameter插件
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
2、修改任務配置——勾選“參數(shù)化構(gòu)建過程”
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
3、添加Git參數(shù)配置
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
4、修改“源碼管理”處的指定分支
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
5、查看可用構(gòu)建的標簽和分支(選中后,點擊開始構(gòu)建即可)
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

3、webhook自動根據(jù)git事件進行構(gòu)建

1、添加插件
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab

2、打開demotest配置(在安裝gitlab插件后,會新增一個構(gòu)建觸發(fā)器選項如下)
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
3、到gitlab中配置出站請求(gitlab群組管理中設置)
設置——》網(wǎng)絡——》出站請求
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
4、設置webhooks(對應代碼倉庫中設置)
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab
5、測試push event
第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹,持續(xù)集成,持續(xù)部署,jenkins,CI/CD,gitlab文章來源地址http://www.zghlxwxcb.cn/news/detail-703722.html

到了這里,關(guān)于第七章:敏捷開發(fā)工具方法-part2-CI/CD工具介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • go 筆記 第七章 golang 的函數(shù) func 方法

    聲明函數(shù) func 函數(shù)名(入?yún)? 類型, 入?yún)? 類型,… )(出參1 類型, 出參2 類型…){ 函數(shù)體,寫邏輯 出參一定要全部 return, return 出參 } 函數(shù)內(nèi)部不可以聲明帶名字的函數(shù),可以聲明匿名函數(shù)和自執(zhí)行函數(shù) 函數(shù)名大寫可以被其他包調(diào)用,小寫私有,變量名也是一樣 return 后面可以不

    2024年02月15日
    瀏覽(24)
  • 人工智能 :一種現(xiàn)代的方法 第七章 邏輯智能體

    人工智能 :一種現(xiàn)代的方法 第七章 邏輯智能體

    本文旨在講清楚: KBA(knowledge based agent)與邏輯 模型,有效性,可滿足性,蘊含,推理過程 如何證明KB蘊含a(模型檢驗,邏輯等價,推理規(guī)則) 基于命題邏輯的Agent如何工作的 7.1 基于知識的智能體 基于知識的系統(tǒng) 基于知識的Agent的核心部件是其知識庫,或稱KB。 知識庫

    2024年01月22日
    瀏覽(25)
  • OBCP第七章 OB遷移-備份恢復技術(shù)架構(gòu)及操作方法

    OBCP第七章 OB遷移-備份恢復技術(shù)架構(gòu)及操作方法

    為什么需要備份恢復 為滿足監(jiān)管要求 防止管理員誤操作后,錯誤數(shù)據(jù)同步到所有副本,導致數(shù)據(jù)無法恢復 防止數(shù)據(jù)庫因各種故障而造成數(shù)據(jù)丟失,降低災難性數(shù)據(jù)丟失的風險,從而達到災難恢復的目的 硬盤驅(qū)動器損壞 黑客攻擊、病毒 自然災害、電源浪涌、磁干擾 物理備份

    2023年04月08日
    瀏覽(28)
  • Qt5開發(fā)及實例V2.0-第七章-Qt圖形視圖框架

    Qt5開發(fā)及實例V2.0-第七章-Qt圖形視圖框架

    7.1.1 Graphics View的特點 Graphics View框架結(jié)構(gòu)的主要特點如下。 (1)Graphics View框架結(jié)構(gòu)中,系統(tǒng)可以利用Qt繪圖系統(tǒng)的反鋸齒、OpenGL工具來改善繪圖性能。 (2)Graphics View支持事件傳播體系結(jié)構(gòu),可以使圖元在場景(scene)中的交互能力提高1倍,圖元能夠處理鍵盤事件和鼠標事

    2024年02月07日
    瀏覽(18)
  • 第七章 函數(shù)矩陣

    第七章 函數(shù)矩陣

    和矩陣函數(shù)不同的是,函數(shù)矩陣本質(zhì)上是一個矩陣,是以函數(shù)作為元素的矩陣。 矩陣函數(shù)本質(zhì)上是一個矩陣,是以矩陣作為自變量的函數(shù)。 函數(shù)矩陣和數(shù)字矩陣的運算法則完全相同。 不過矩陣的元素 a i j ( x ) a_{ij}(x) a ij ? ( x ) 需要是閉區(qū)間 [ a , b ] [a,b] [ a , b ] 上的實函數(shù)

    2024年02月04日
    瀏覽(21)
  • 數(shù)據(jù)結(jié)構(gòu)第七章

    數(shù)據(jù)結(jié)構(gòu)第七章

    圖(Graph)G由兩個集合V和E組成,記為G=(V, E),其中V是頂點的有窮非空集合,E是V中頂點偶對的有窮集合,這些頂點偶對稱為邊。V(G)和E(G)通常分別表示圖G的頂點集合和邊集合,E(G)可以為空集。若EG)為空,則圖G只有頂點而沒有邊。 子圖:假設有兩個圖G=(V,E)和G1=(V1,E1);如果V1

    2024年02月03日
    瀏覽(26)
  • 第七章 圖論

    第七章 圖論

    第七章 圖論 一、數(shù)據(jù)結(jié)構(gòu)定義 圖的鄰接矩陣存儲法 圖的鄰接表存儲法 把所有節(jié)點存儲為節(jié)點數(shù)組,每個節(jié)點里有自己的數(shù)據(jù)和一個邊指針,這個邊指針相當于一個鏈表的頭指針,這個鏈表里存放所有與這個節(jié)點相連的邊,邊里存放該邊指向的節(jié)點編號和下一條邊指針 圖的

    2024年02月14日
    瀏覽(78)
  • [JavaScript] 第七章 對象

    [JavaScript] 第七章 對象

    ??作者主頁:青花鎖 ??簡介:Java領域優(yōu)質(zhì)創(chuàng)作者??、Java微服務架構(gòu)公號作者?? ??簡歷模板、學習資料、面試題庫、技術(shù)互助 ??文末獲取聯(lián)系方式 ?? [Java項目實戰(zhàn)] 介紹Java組件安裝、使用;手寫框架等 [Aws服務器實戰(zhàn)] Aws Linux服務器上操作nginx、git、JDK、Vue等 [Java微服務

    2024年02月02日
    瀏覽(61)
  • 第七章金融中介

    ?? ? ? ? 金融中介是通過向資金盈余者發(fā)行 間接融資合約( 如存款單),并和資金短缺者達成 間接投資合約 (發(fā)放信貸)或購買其發(fā)行的證券,在資金供求方之間融通資金,對資金跨期、跨域進行優(yōu)化配置的金融機構(gòu)。 ? ? ? ? 金融體系由金融市場和金融中介構(gòu)成,以銀行業(yè)為

    2024年02月04日
    瀏覽(26)
  • python第七章(字典)

    python第七章(字典)

    一。字典(類型為dict)的特點: 1.符號為大括號 2.數(shù)據(jù)為鍵值對形式出現(xiàn) 3.各個鍵值對之間以逗號隔開 格式:str1={\\\'name\\\':\\\'Tom\\\'}? name相當于鍵值(key),Tom相當于值 二??兆值涞膭?chuàng)建方法 三。字典的基本操作(增刪改查) 1.字典的增加操作:字典序列[key] = 值 注意點:如果存

    2024年01月24日
    瀏覽(46)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包