<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                > 原文出處:http://article.yeeyan.org/view/2251/94882 我還可以生動記起第一次看到大型軟件工程的情景。我當時在一家大型英國電子公司的QA部門實習。我的經理帶我熟悉公司環境,我們進到一間巨大的,充滿了壓抑感和格子間的的倉庫。我被告知這個項目已經開發了好幾年,現在正在集成階段,并已經集成了好幾個月。我的向導還告訴我沒人知道集成要多久才能結束。從此我學到了軟件開發的一個慣例:集成是一個很耗時并難以預測的過程。但是事實并非總是如此,我的 ThoughWorks 同事所做的項目,以及很多其它遍布世界各地的軟件項目,都不會把集成當回事。任何一個開發者本地的代碼和項目共享基準代碼的差別僅僅只有幾小時的工作而已,而且這只要幾分鐘的時間就可以被集成回去。任何集成錯誤都可以很快被發現,并被快速修復。這鮮明的差別并非源于昂貴和復雜的工具。其中的精華蘊含于一個簡單的實踐:使用統一的代碼倉庫并頻繁集成(通常每天一次)。 當我向別人介紹持續集成方法時,人們通常會有兩種反應:“這(在我們這兒)不管用”和“做了也不可能有什么不同”。但如果他們真的試過了,就會發現持續集成其實比聽起來要簡單,并且能給開發過程帶來巨大的改變。因此第三種常見的反應是:“我們就是這么做的,做開發怎可能不用它呢?” “持續集成”一詞來源于極限編程(Extreme Programming),作為它的12個實踐之一出現。當我開始在 ThoughWorks 開始顧問職業生涯時,我鼓勵我所參與的項目使用這種技巧。Matthew Foemmel 將我抽象的指導思想轉化為具體的行動。我們看到了項目從少而繁雜的集成進步到我所描述的不當回事。Metthew和我將我們的經驗寫進了這篇論文的第一版里。這篇論文后來成了我網站里最受歡迎的文章之一。 盡管持續集成不需要什么特別的工具,我們發現使用一個持續集成服務器軟件還是很有效果的。最出名的持續集成服務器軟件是 CruiseControl,這是一個開源工具,最早由 ThoughWorks 的幾個人開發,現在由社區維護。之后還有許多其他持續集成服務器軟件出現,有些是開源的,有些則是商業軟件,比如 ThoughtWorks Studio 的?[Cruise](http://studios.thoughtworks.com/cruise-continuous-integration)。
                  <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>

                              哎呀哎呀视频在线观看