今天看了個問題,就是在Jenkins裏如何根據不同的環境發佈代碼。
我本地的代碼環境有,開發環境、測試環境、預發佈環境和線上環境。
基於項目的風險控制,安全控制,我只有開發環境和測試環境的權限,所以我通過Jenkins將代碼部署到測試環境上。
1、先判斷java-web下的pom文件,查看pom文件下不同環境的配置情況
<profiles></profiles>裏我們可以看到三個<profile>的配置,即三種不同的配置環境
<id>:表示不同配置環境下的名稱,即標識
<properties>:自定義的一些屬性,可有可無
<.resource_path>:相當於profile環境下屬性文件的目錄
${project.basedir}:表示佔位符
<activation>
<activeByDefault>true</activeByDefault>
</activation> :表示默認配置
2、Jenkins Build配置
找到Build,根據pom文件的profiles內容配置測試環境的地址,注意(上方截圖紅線標識是代表預發佈環境的配置),而我需要對測試環境進行配置,命令應該是 :
clean package -P test
test是我的測試環境的id,到此配置完成。
3、Jenkins自動部署驗證配置文件是否起到效果
判斷是否成功的部署成功一般分兩個步驟,
1、在本地選擇測試環境,使用maven project進行編譯打包,編譯打包成功之後查看項目java-web下的target文件 步驟 target - classes - spring-config.xml,如圖
1選擇test測試環境,2選擇clean和package進行編譯打包,3生成編譯後的文件,4查看文件地址是否是測試環境引入的配置地址。
2、在Jenkins發佈成功後,在測試機器上找到版本發佈的tags目錄,tags目錄下的文件是這樣的
打包生成的是以時間日期的目錄
在生成的目錄文件裏cd 202004131653 找到java-web目錄,進入target下找到classes進入,打開spring-config.xml文件
找到
確認Jenkins發佈後的value裏對應的值和本地生成的值是否一致,一致即標識環境部署成功。