<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 功能強大 支持多語言、二開方便! 廣告
                引用:韓曉彤 ## 持續集成-maven區分環境打包.md ## maven區分環境打包 ### 1.解決了什么問題? 我們經常會碰到,一套程序需要部署到生產,測試,開發三套甚至更多的環境上。 在maven打包的時候,就需要根據不同的環境,修改配置文件的屬性。導致效率很地下,而且很容易出錯! 那么有沒有可以在打包的時候,根據命令不同,自動的切換到目標環境的配置呢? 答案的當然是有的! ### 2.效果什么樣? ` mvn install -P[profile的id屬性值] ` * 執行` mvn install -Pdev ` 打出來的包,可用于部署到開發環境。 * 執行` mvn install -Pqa ` 打出來的包,可用于部署到測試環境。 * 執行` mvn install -Pprod ` 打出來的包,可用于部署到開發環境。 ### 3.如何實現? #### 3.1原理 本文采用的是maven提供的占位符屬性替換的方式實現的。即: * 針對每一個環境,建立一組配置文件,如圖filter文件夾中的內容。 * 舉例:在dev(開發)環境下,在打包時用timingdb-dev.properties中的屬性值,替換timingdb.properties中的屬性值。 > 注意是文件中屬性值替換,不是文件整體替換 #### 3.2如何實現屬性值替換?使用占位符 * 被替換的文件中的屬性,如:timingdb.properties * 環境源配置文件中的屬性,如:timingdb-dev.properties #### 3.3 如何配置maven * 全局build配置,主要是決定哪些配置文件中的占位符需要被替換!哪些文件不進行占位符屬性替換!`<filtering>false/true</filtering>` ```xml <build> …… <resources> <resource> <directory>src/main/resources</directory> <filtering>false</filtering> <includes> <include>**/*.xml</include> <include>**/*.bpmn</include> <include>**/*.pdf</include> <include>**/*.cab</include> <include>**/*.docx</include> <include>**/*.doc</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.properties</include> <include>**/*.conf</include> </includes> </resource> </resources> </build> ``` * 分環境build配置,主要用于說明: 1. 環境的唯一標志:id(用于打包命令) 2. 用哪些文件中的屬性去替換:filter配置 > activeByDefault:true是指在不指定-P情況下打包的默認profile選擇項! ```xml <profiles> <profile> <id>dev</id> <build> <filters> <filter>src/main/resources/filters/timingdb-dev.properties</filter> <filter>src/main/resources/filters/fdfs_client-dev.conf</filter> </filters> </build> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>qa</id> <build> <filters> <filter>src/main/resources/filters/timingdb-qa.properties</filter> <filter>src/main/resources/filters/fdfs_client-qa.conf</filter> </filters> </build> </profile> <profile> <id>prod</id> <build> <filters> <filter>src/main/resources/filters/timingdb-prod.properties</filter> <filter>src/main/resources/filters/fdfs_client-prod.conf</filter> </filters> </build> </profile> </profiles> ```
                  <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>

                              哎呀哎呀视频在线观看