




已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課程概要:1. jenkins 概述與環(huán)境配置2. 基于jenkins 實(shí)現(xiàn)可持續(xù)化集成3. jenkins pipeline 核心應(yīng)用一、jenkins 概述與環(huán)境配置知識點(diǎn):1. 關(guān)于可持續(xù)化集成 (CI)2. jenkins 概述3. 下載安裝jenkins 4. 基礎(chǔ)環(huán)境配置與常用插件下載1、關(guān)于可持續(xù)化集成相信大家都知道jenkins是用來做可持續(xù)集成的? 但部問題是很多人并不明白什么叫可持續(xù)化集成。講概念之前我們先來舉一個場景:一個團(tuán)隊(duì)正著手開發(fā)一個項(xiàng)目,在需求評審之后由小組長把項(xiàng)目拆成了若干個模塊,分給不同的小伙伴去實(shí)現(xiàn)。2個星期以后各自模塊的功能都實(shí)現(xiàn)了,大家都很開心。這時該合在一起提測了吧。這一合小組長傻眼了,功能沒一個能用的,要么公共類沖突了,要么配置沖突.經(jīng)過上次的教訓(xùn),小組長變聰明了,在也不等功能開發(fā)之后在合并提測了,而是每天集成提測,如果發(fā)現(xiàn)沖突當(dāng)天就要解決。持續(xù)集成即 Continuous integration(CI) 是一種軟件開發(fā)實(shí)踐,即團(tuán)隊(duì)開發(fā)成員經(jīng)常集成他們的工作,每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗(yàn)證,從而盡快地發(fā)現(xiàn)集成錯誤,讓團(tuán)隊(duì)能夠更高效的開發(fā)軟件。持續(xù)集成要點(diǎn):l 統(tǒng)一的代碼庫(git)l 統(tǒng)一的依賴包管理(nexus)l 測試自動化l 構(gòu)建全自動化(maven)l 部署自動化l 可追蹤的集成記錄2、jenkins 概述jenkins 就是為了滿足上述持續(xù)集成的要點(diǎn)而設(shè)計(jì)的一款工具,其主體框架采用JAVA開發(fā),實(shí)質(zhì)內(nèi)部功能都是由各種插件實(shí)現(xiàn),極大提高了系統(tǒng)的擴(kuò)展性。其不僅可以滿足JAVA系統(tǒng)的集成,也可以實(shí)現(xiàn)PHP等語言的集成發(fā)布。通過其pipeline 插件,用戶可以隨自己需要定制集成流程。2、下載安裝jenkins 下載:jenkins 支持Docker、yum、msi 等安裝,在這里推薦大家直接選擇下載他對應(yīng)的WAR包進(jìn)行安裝。https:/jenkins.io/download/啟動:下載完成之后直接可通過 jar -jar 命令啟動java -jar jenkins.war -httpPort=8080也可以將其放至到servlet容器(tomcatjettyjboss)中直接啟動,無需過多的配置,一切插件化這是jenkins 比較優(yōu)秀的設(shè)計(jì)。配置:下載完成之后進(jìn)入啟動頁(:8080/) 會有一個 驗(yàn)證過程,驗(yàn)證碼存儲在 $user_home.jenkinssecretsinitialAdminPassword 中,接著就是進(jìn)入安裝插件頁,選擇默認(rèn)即可,這個過程稍長。3、基礎(chǔ)環(huán)境配置與常用插件下載在集成的時候,jenkins 用到了 Maven 、Git 所以服務(wù)器中必須提前安裝好這些環(huán)境,具體參照前面的git與maven 課程。插件下載更換源 -系統(tǒng)管理-管理插件-高級-升級站點(diǎn)把:/update-center.json換成:http:/mirror.esuni.jp/jenkins/updates/update-center.json鏡像源查詢:/status.html基本插件列表插件名稱插件描述Maven Integration maven 管理插件Deploy to container容器部署插件Pipeline管道集成插件Email Extension 郵件通知插件SSH用于ssh 通信二、基于jenkins 實(shí)現(xiàn)可持續(xù)化集成知識點(diǎn):1. 持續(xù)化集成完成的目標(biāo)2. 持續(xù)化集成配置3. 集成實(shí)現(xiàn)原理1、 持續(xù)化集成完成的目標(biāo)需要到達(dá)的目標(biāo)如下:1. 自動基于分支構(gòu)建項(xiàng)目2. 構(gòu)建好的項(xiàng)目自動部署至Tomcat容器3. 構(gòu)建好的項(xiàng)目自動上傳至Nexus 私服存檔4. 保存構(gòu)建歷史記錄,并可以下載歷史記錄2、持續(xù)化集成配置1. 新建maven job2. 配置checkout 源碼3. 編寫 maven構(gòu)建 命令4. 自動部署至Tomcat配置添加構(gòu)建后操作:Deploy war/ear to container 項(xiàng)目自動部署的前提條件:1. 需要下載 Deploy to container 插件2. 設(shè)置Tomcat manager 用戶和密碼,以下配置加入至 Tomcat conf/tomcat-users.xml 中3. tomcat webapp 中必須保留 manager 項(xiàng)目5. 存檔配置構(gòu)建后操作添加 Deploy war/ear to a container 項(xiàng)目配置setting.xml 用于獲取上傳至nexus 的權(quán)限vim /.m2/settings.xml# 添加一個 server id 與 存檔配置當(dāng)中的repository id 相對應(yīng)。 nexusReleases deployment 1111113、集成實(shí)現(xiàn)原理三、jenkins pipeline 核心應(yīng)用知識點(diǎn):1. pipeline 概要2. pipeline 基礎(chǔ)語法3. pipeline Demo演示1、pipeline 概要前面我們演示的 使用maven 來進(jìn)行自動化構(gòu)建,其流程分別是:構(gòu)建環(huán)境準(zhǔn)備=源碼下載 =構(gòu)建 =存檔 =部署。這是一種固化的構(gòu)建流程,如果你們的需求是多個項(xiàng)目需要進(jìn)行依賴構(gòu)建這種復(fù)雜的構(gòu)建場景 時該怎么辦?jenkins pipeline 可以做到這一點(diǎn)。 Jenkins從根本上講是一種支持多種自動化模式的自動化引擎。Pipeline在Jenkins上添加了一套強(qiáng)大的自動化工具,支持從簡單的連續(xù)集成到全面的連續(xù)輸送Pipeline的用例。用戶可以基于他實(shí)現(xiàn)更為復(fù)雜的建模場景。2、pipeline 基礎(chǔ)語法以下就是一個非常簡單的 pipeline 腳本:pipeline agent any stages stage(Build) steps sh make stage(Test) steps sh make check junit reports/*/*.xml stage(Deploy) steps sh make publish agent 表示Jenkins應(yīng)該為Pipeline的這一部分分配一個執(zhí)行者和工作區(qū)。stage 描述了這條Pipeline的一個階段。steps 描述了要在其中運(yùn)行的步驟stagesh 執(zhí)行給定的shell命令junit 是由JUnit插件提供的用于聚合測試報(bào)告的Pipeline步驟。3、pipeline Demo演示前提條件1. Jenkins 2.x或更高版本2. Pipeline插件可以通過以下任一方式創(chuàng)建基本Pipeline:1. 直接在Jenkins網(wǎng)頁界面中輸入腳本。2. 通過創(chuàng)建一個Jenkinsfile可以檢入項(xiàng)目的源代碼管理庫。用任一方法定義Pipeline的語法是一樣的,從項(xiàng)目源碼中檢入jenkinsfile 文件會更方便一些?;谀_本構(gòu)建 pipelinepipeline agent any stages stage(Checkout) steps echo Checkout stage(Build) steps echo Building stage(test) steps echo test 基于Jenkinsfile 構(gòu)建pipeline agent any stages stage(checkout) steps echo checkout checkout($class: GitSCM, branches: name: */master, doGenerateSubmoduleConfigurations: false, extensions: , submoduleCfg: , userRemoteConfigs: credentialsId: gogs_l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村建私房合同范本
- Module1Unit 2 I feel nervous when I speak Chinese.教學(xué)設(shè)計(jì)- 2024-2025學(xué)年外研版英語八年級下冊
- 專家工作合同范本模板
- 公寓購房合同范本
- 保潔人員勞務(wù)合同范本
- 刺繡行業(yè)雇工合同范本
- 分公司設(shè)立合同范本
- 農(nóng)戶銷售果樹合同范本
- 農(nóng)用農(nóng)機(jī)出售合同范本
- 保險(xiǎn)條款合同范本
- 環(huán)境與可持續(xù)發(fā)展ppt課件(完整版)
- Linux操作系統(tǒng)課件(完整版)
- 跨境電商亞馬遜運(yùn)營實(shí)務(wù)完整版ppt課件-整套課件-最全教學(xué)教程
- 浙美版小學(xué)六年級美術(shù)下冊全冊精品必備教學(xué)課件
- DB32∕T 4245-2022 城鎮(zhèn)供水廠生物活性炭失效判別和更換標(biāo)準(zhǔn)
- 建設(shè)工程圍擋標(biāo)準(zhǔn)化管理圖集(2022年版)
- 人教版七年級上冊歷史課程綱要
- 濕法冶金簡介
- 2022新教科版六年級科學(xué)下冊全一冊全部教案(共28節(jié))
- 班主任培訓(xùn)-家校溝通課件
- 機(jī)器視覺論文英文
評論
0/150
提交評論