<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用 Zadig 快速接入 Jenkins 工作流

          共 2105字,需瀏覽 5分鐘

           ·

          2021-10-14 00:17

          Jenkins 是一個(gè)是基于 Java 開(kāi)發(fā)的、非常經(jīng)典的開(kāi)源持續(xù)集成項(xiàng)目,被企業(yè)和團(tuán)隊(duì)廣泛應(yīng)用,但 Jenkins 本身并非云原生設(shè)計(jì),隨著微服務(wù)數(shù)量增長(zhǎng)、業(yè)務(wù)架構(gòu)上云 (Kubernetes) 趨勢(shì),工程師還是需要花額外時(shí)間對(duì)接基礎(chǔ)設(shè)施、準(zhǔn)備環(huán)境等等,平均一個(gè)工程師要切換若干個(gè)平臺(tái)才能把一段代碼寫(xiě)上線。通過(guò)現(xiàn)有 Jenkins 接入 Zadig 讓團(tuán)隊(duì)不需要理解 CI/CD 概念,可以快速獲得高并發(fā)的工作流和面向服務(wù)的集成環(huán)境,方便開(kāi)發(fā)日常調(diào)試,不再為缺少測(cè)試環(huán)境,搶占測(cè)試環(huán)境而困擾。

          Zadig(https://koderover.com/) 內(nèi)置了面向 Kubernetes、Helm、云主機(jī)/物理機(jī)、大體量微服務(wù)等復(fù)雜業(yè)務(wù)場(chǎng)景的最佳實(shí)踐,為工程師一鍵生成自動(dòng)化工作流。Zadig 不改變現(xiàn)有習(xí)慣和流程,幾乎兼容所有軟件架構(gòu),無(wú)縫集成 GitHub/GitLab、Jenkins、多家云廠商等,運(yùn)維成本極低。

          本文主要介紹如何在 Zadig 上快速接入 Jenkins 工作流,實(shí)現(xiàn)端到端的微服務(wù)架構(gòu)體系的持續(xù)交付。下面使用 Voting-app 作為演示項(xiàng)目,該項(xiàng)目包括 result、vote、worker、db 和 redis 這 5 個(gè)服務(wù),實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的投票系統(tǒng)。

          Zadig 的安裝非常簡(jiǎn)單,可以直接參考官方文檔:https://docs.koderover.com/zadig/install/overview/

          準(zhǔn)備工作

          • 服務(wù)的 Jenkins Pipeline
          • 服務(wù)的 Kubernetes Yaml 文件(案例源碼在 GitHub Zadig 項(xiàng)目中,可直接使用):https://github.com/koderover/zadig/tree/main/examples/voting-app/freestyle-k8s-specifications

          步驟 0:集成 Jenkins

          • 登錄 Jenkins,在用戶配置中,生成一個(gè) API Token,如下圖所示。
          • 訪問(wèn) Zadig,點(diǎn)擊?系統(tǒng)設(shè)置?> ?集成環(huán)境?>?Jenkins 集成?,添加 Jenkins 服務(wù)相關(guān)信息,如下圖所示。

          步驟 1:項(xiàng)目配置

          • 創(chuàng)建 voting-app,一個(gè)用 K8s Yaml 部署的項(xiàng)目,具體內(nèi)容如下圖所示。
          • 成功創(chuàng)建項(xiàng)目,進(jìn)入項(xiàng)目配置向?qū)?,系統(tǒng)預(yù)設(shè)了 2 套集成環(huán)境和 3 條工作流。

          步驟 2:創(chuàng)建服務(wù)

          • 創(chuàng)建服務(wù),選擇從 GitHub 倉(cāng)庫(kù)導(dǎo)入服務(wù)的 K8s Yaml。點(diǎn)擊?倉(cāng)庫(kù)托管
          • 在彈框中選擇代碼倉(cāng)庫(kù)和服務(wù)Yaml所在文件目錄,點(diǎn)擊加載。
          • 系統(tǒng)會(huì)自動(dòng)檢測(cè)Yaml格式是否合法,導(dǎo)入成功后,右側(cè)會(huì)自動(dòng)解析出Yaml文件包含的系統(tǒng)變量、自定義變量和服務(wù)組件,如下圖所示。
          • 服務(wù)添加Jenkins構(gòu)建,voting-app項(xiàng)目中 vote 和 result 之前使用 Jenkins Pipeline 進(jìn)行持續(xù)交付的,現(xiàn)在只需在將對(duì)應(yīng)服務(wù)的 Jenkins Pipeline 關(guān)聯(lián)到 Zadig 上,即可通過(guò) Zadig 工作流觸發(fā) Jenkins Pipeline。

          注意:Jenkins Build Parameters 中必須存在IMAGE變量,作為構(gòu)建鏡像的名稱,Jenkins 成功構(gòu)建鏡像后,Zadig 工作流部署階段會(huì)使用該鏡像更新服務(wù))

          • 點(diǎn)擊添加構(gòu)建
          • 選擇 Jenkins 構(gòu)建
          • 選擇對(duì)應(yīng)的 Jenkins job
          • 修改變量并保存構(gòu)建

          至此,我們已經(jīng)成功添加了 result 服務(wù)的 Jenkins Pipeline,voting app 的 Jenkins Pipeline 配置類(lèi)似,此處不再贅述。

          添加成功后,點(diǎn)擊下一步,完成服務(wù)配置。

          步驟 3:加入運(yùn)行環(huán)境

          • 進(jìn)入「加入運(yùn)行環(huán)境」,系統(tǒng)根據(jù)以上配置,自動(dòng)創(chuàng)建 2 套環(huán)境和 3 條工作流,具體如下圖所示:

          步驟 4:工作流交付

          • 點(diǎn)擊運(yùn)行 dev 工作流,來(lái)完成 dev 環(huán)境的持續(xù)交付,如下圖所示。
          • 這里,我們可以選擇多個(gè)服務(wù)同時(shí)更新到環(huán)境中。
          • 執(zhí)行過(guò)程中,可以看到,選擇的兩個(gè)服務(wù)可以并發(fā)執(zhí)行。
          • 在 Zadig 工作流任務(wù)中查看 Jenkins 構(gòu)建的日志。
          • 執(zhí)行完成后,可在對(duì)應(yīng)集成環(huán)境中查看服務(wù)的運(yùn)行狀態(tài)、查看實(shí)時(shí)日志,對(duì)服務(wù)進(jìn)行調(diào)整服務(wù)數(shù)量、更換鏡像、進(jìn)入容器調(diào)試等操作。

          步驟 5:添加測(cè)試,掛接工作流

          • 添加自動(dòng)化測(cè)試用例
          • 填寫(xiě)測(cè)試用例必要的執(zhí)行環(huán)境,測(cè)試用例所在的代碼倉(cāng)庫(kù)等信息。
          • 保存后,可將測(cè)試用例關(guān)聯(lián)到 dev 工作流。
          • 完成關(guān)聯(lián)后,就可以使用 dev 工作流更新環(huán)境,并且對(duì)環(huán)境進(jìn)行自動(dòng)化測(cè)試,快速得到測(cè)試結(jié)果反饋。

          通過(guò)以上步驟,我們已經(jīng)完成了 Jenkins + Zadig 的項(xiàng)目配置,可以看到,Zadig 補(bǔ)足了 Jenkins 不具備的環(huán)境管理能力和測(cè)試管理能力,通過(guò) Zadig 讓軟件交付變得更絲滑。

          瀏覽 110
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品久久久久久69 | 欧美美女后进式插逼视频 | 中文字幕免费在线视频 | 天天激情站 | 先锋影音av在线 亚州在线无码视频 |