<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之旅 廣告
                **1. 什么是持續集成** 持續集成( Continuous integration , 簡稱 CI )指的是:頻繁地(一天多次)將代碼集成到主干。 <br/> 持續集成的目的:<mark>就是讓產品可以快速迭代,同時還能保持高質量</mark>。 <br/> 持續集成的核心措施是:代碼集成到主干之前,必須通過自動化測試。只要有一個測試用例失敗,就不能集成。 <br/> 通過持續集成, 團隊可以快速的從一個功能到另一個功能,簡而言之,敏捷軟件開發很大一部分都要歸功于持續集成。 <br/> **2. 持續集成的流程** :-: ![](https://img.kancloud.cn/48/de/48de3f769cc90f2030ab3ad5788474f6_580x433.jpg) 持續集成的流程 (1)提交 開發者向代碼倉庫提交(commit)代碼。 (2) 測試(第一輪) 代碼倉庫對commit操作配置了鉤子(hook),只要提交代碼或者合并進主干,就會跑自動化測試。 (3)構建 通過第一輪測試,代碼就可以合并進主干,就算可以交付了。 <br/> 交付后,先進行構建(build),再進入第二輪測試。所謂構建,指的是將源碼轉換為可以運行的實際代碼,比如安裝依賴,配置各種資源(樣式表、JS腳本、圖片)等等。 (4)測試(第二輪) 構建完成,就要進行第二輪測試。如果第一輪已經涵蓋了所有測試內容,第二輪可以省略,當然,這時構建步驟也要移到第一輪測試前面。 (5)部署 過了第二輪測試,當前代碼就是一個可以直接部署的版本(artifact)。將這個版本的所有文件打包`(tar filename.tar * )`存檔,發到生產服務器。 (6) 回滾 一旦當前版本發生問題,就要回滾到上一個版本的構建結果。最簡單的做法就是修改一下符號鏈接,指向上一個版本的目錄。 <br/> **3. 持續集成的組成要素** * 一個自動構建過程, 從檢出代碼、 編譯構建、 運行測試、 結果記錄、 測試統計等都是自動完成的, 無需人工干預。 * 一個代碼存儲庫,即需要版本控制軟件來保障代碼的可維護性,同時作為構建過程的素材庫,一般使用SVN或Git。 * 一個持續集成服務器, Jenkins 就是一個配置簡單和使用方便的持續集成服務器。 :-: ![](https://img.kancloud.cn/20/3b/203b3a533dc570b034951784720fe495_630x332.jpg) **4. 持續集成的好處** 1、降低風險,由于持續集成不斷去構建,編譯和測試,可以很早期發現問題,所以修復的代價就少。 2、對系統健康持續檢查,減少發布風險帶來的問題。 3、減少重復性工作。 4、持續部署,提供可部署單元包。 5、持續交付可供使用的版本。 6、增強團隊信心。
                  <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>

                              哎呀哎呀视频在线观看