<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 詹金斯是什么? 持續集成(CI)工具 > 原文: [https://www.guru99.com/jenkin-continuous-integration.html](https://www.guru99.com/jenkin-continuous-integration.html) ## 什么是詹金斯? **Jenkins** 是一款開源的持續集成服務器,能夠編排一系列動作,這些動作有助于以自動化方式(不僅是自動)實現持續集成過程。 Jenkins 是免費的,完全用 Java 編寫。 Jenkins 是全球范圍內廣泛使用的應用程序,其安裝量約為 30 萬,并且每天都在增長。 它是基于服務器的應用程序,需要 Web 服務器(如 Apache Tomcat)。 Jenkins 如此受歡迎的原因是它監視在項目開發過程中出現的重復任務。 例如,如果您的團隊正在開發項目,則詹金斯將不斷測試您的項目構建,并向您顯示開發早期的錯誤。 通過使用 Jenkins,軟件公司可以加快其軟件開發過程,因為 Jenkins 可以快速自動構建和測試。 Jenkins 支持軟件的完整開發生命周期,包括構建,測試,記錄軟件,部署和軟件開發生命周期的其他階段。 在本教程中,您將學習 * [什么是詹金斯?](#1) * [什么是持續集成?](#2) * [詹金歷史](#3) * [為什么將持續集成與 Jenkins 結合使用?](#4) * [持續集成的實際案例研究](#5) * [使用 Jenkins 的優點](#6) * [使用 Jenkins 的缺點](#7) ## 什么是持續集成? 在提交代碼后進行持續集成中,將立即構建并測試軟件。 在具有許多開發人員的大型項目中,一天中要進行多次提交。 每次提交代碼都會被構建和測試。 如果測試通過,則將對構建進行測試以進行部署。 如果部署成功,則將代碼推送到生產環境。 這種提交,構建,測試和部署是一個連續的過程,因此稱為連續集成/部署。 持續集成流水線是一種功能強大的工具,它包含一組工具,這些工具旨在**托管**,**監控器**,**編譯**和**測試**代碼, 或代碼更改,例如: * **持續集成服務器**(Jenkins,Bamboo,CruiseControl,TeamCity 等) * **源代碼管理工具**(例如 CVS,SVN,GIT,Mercurial,Perforce,ClearCase 等) * **生成工具**(Make,ANT,Maven,Ivy,Gradle 等) * **自動化測試框架**(Selenium,Appium,TestComplete,UFT 等) ## 詹金歷史 * SUN Microsystems 的 Java 開發人員 Kohsuke Kawaguchi 厭倦了重復編寫代碼和修復錯誤的工作。 2004 年,創建了一個名為 Hudson 的自動化服務器,該服務器可以自動執行構建和測試任務。 * 2011 年,擁有 Sun Microsystems 的 Oracle 與 Hudson 開源社區發生了爭執,因此他們將 Hudson 分叉并將其重命名為 Jenkins。 * 哈德森和詹金斯都繼續獨立運作。 但是在很短的時間內,詹金斯獲得了許多項目和貢獻者,而哈德森只剩下 32 個項目。 隨著時間的流逝,詹金斯(Jenkins)變得越來越受歡迎,而哈德森(Hudson)不再保持。 ## 為什么將持續集成與 Jenkins 結合使用? 有人可能認為老式的軟件開發方法是更好的方法。 通過以下示例,讓我們了解使用 Jenkins 的 CI 的優勢 讓我們想象一下,大約有 10 個開發人員正在使用共享存儲庫。 一些開發人員在 25 天之內完成任務,而其他開發人員則需要 30 天才能完成。 | **在詹金斯**之前 | **在詹金斯**之后 | | 一旦所有開發人員都完成了分配的編碼任務,他們通常會同時提交所有代碼。 后來,對 Build 進行了測試和部署。 構建了代碼提交,并且測試周期非常少見,并且幾天之后就完成了一次構建。 | 一旦開發人員提交代碼,便會構建并測試代碼。 Jenkin 將在一天 中多次構建和測試代碼。如果構建成功,則 Jenkins 將把源代碼部署到測試服務器中,并通知部署團隊。 如果構建失敗,則 Jenkins 將錯誤通知開發人員團隊。 | | 由于代碼是一次構建的,因此某些開發人員需要等到其他開發人員完成編碼才能檢查其構建 | 在任何開發人員提交之后,都會立即構建代碼。 | | 隔離,檢測和修復多個提交的錯誤并非易事。 | 由于代碼是在單個開發人員的每次提交之后構建的,因此很容易檢測出導致構建失敗的代碼 | | 代碼構建和測試過程完全是手動的,因此有很多失敗的機會。 | 自動化的構建和測試過程可節省時間并減少缺陷。 | | 一旦修復并測試了所有錯誤,便會部署代碼。 | 每次成功構建和測試后,都將部署代碼。 | | 開發周期慢 | 開發周期很快。 新功能更易于用戶使用。 增加利潤。 | ## 持續集成的實際案例研究 我相信你們所有人都知道舊手機諾基亞。 諾基亞過去曾實施一個稱為“每晚構建”的程序。 在白天,來自不同開發人員的多次提交后,該軟件每晚都會生成。 由于該軟件每天僅生成一次,因此,在龐大的代碼庫中隔離,識別和修復錯誤非常痛苦。 后來,他們采用了持續集成方法。 一旦開發人員提交代碼,便立即構建并測試該軟件。 如果檢測到任何錯誤,則相應的開發人員可以快速修復缺陷。 ![](https://img.kancloud.cn/ed/93/ed93fb8fe426495ffec6afcba37e6b8e_1371x1070.png) ### Jenkins 插件 默認情況下,Jenkins 具有有限的功能集。 如果要將 Jenkins 安裝與版本控制工具(如 Git)集成在一起,則需要安裝與 Git 相關的插件。 實際上,為了與 Maven,Amazon EC2 之類的工具集成,您需要在 Jenkins 中安裝相應的插件。 <figure style="margin-left: auto;margin-right: auto;"> ![](https://img.kancloud.cn/0c/83/0c835864378fcc96eee777a425c09ac6_1032x699.png) 詹金斯 中的插件集成 ## 使用 Jenkins 的優點 * Jenkins 由非常開放的社區管理。 每個月,他們都會舉行公開會議,并聽取公眾對 Jenkins 項目開發的意見。 * 到目前為止,大約有 280 張門票已關閉,該項目每三個月發布一次穩定發布。 * 隨著技術的發展,詹金斯也在發展。 到目前為止,Jenkins 在其插件數據庫中發布了大約 320 個插件。 有了插件,Jenkins 變得更加強大且功能豐富。 * Jenkins 還支持基于云的體系結構,因此您可以在基于云的平臺中部署 Jenkins。 * Jenkins 之所以受歡迎,是因為它是由開發人員為開發人員創建的。 ## 使用 Jenkins 的缺點 盡管詹金斯是一個非常強大的工具,但它也有缺陷。 * 與當前的 UI 趨勢相比,其界面已過時且不友好。 * 盡管 Jenkins 被許多開發人員所喜愛,但是維護它并不容易,因為 Jenkins 運行在服務器上,并且需要一些服務器管理員的技能來監視其活動。 * 許多人不實施 Jenkins 的原因之一是由于安裝和配置 Jenkins 困難。 * 由于某些較小的設置變化,連續集成經常中斷。 持續集成將被暫停,因此需要開發人員注意。 ## 結論: * 在持續集成中,在提交代碼后,立即構建并測試軟件 * Jenkins 是一個開源的持續集成服務器,能夠編排一系列動作 * 在詹金斯(Jenkins)所有開發人員都完成分配的編碼任務之前,他們曾經同時提交所有代碼。 后來,對 Build 進行了測試和部署。 * 在 Jenkins 之后,只要開發人員提交代碼,便會構建代碼并進行測試。 Jenkin 將在一天中多次構建和測試代碼 * 默認情況下,Jenkins 具有有限的功能集。 如果要將 Jenkins 安裝與版本控制工具(如 Git)集成,則需要安裝與 Git 相關的插件 * 詹金斯(Jenkins)的最大優點是,它由社區管理,該社區舉行公開會議并從公眾那里獲取對詹金斯項目發展的投入 * Jenkin 的最大缺點是,與當前的 UI 趨勢相比,其界面已過時且不友好。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看