工程實(shí)例代碼:https://github.com/chocolateBlack/multi_env_folder_maven
目前創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、柯橋網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
利用Maven、Jenkins實(shí)現(xiàn)項(xiàng)目自動(dòng)化部署,能夠按照bin、conf、lib文件進(jìn)行打包,并能夠通過Jenkins按照環(huán)境一鍵發(fā)不到服務(wù)器上
path=${hdfs.path}
profile的配置如下:
dev
dev
/dev/wh/source/tp
true
test
dev
/test/wh/source/tp
接下來就需要讓maven能夠解析conf文件夾中Maven屬性,這就是maven-resources-plugin要做的事情。
開啟資源過濾,并指定過濾的目錄。以下配置指定src/main/conf目錄下所有類型的文件開啟資源過濾,并將解析后的文件指定輸出到target/class/conf目錄下
src/main/conf/
true
**/*.*
conf
2.其次,利用maven-assembly-plugin插件,將編譯好的項(xiàng)目分成bin、conf、lib目錄。
org.apache.maven.plugins
maven-assembly-plugin
2.6
make-assembly
package
single
com.test.HelloMaven
jar-with-dependencies
${project.name}
src/main/assembly/assembly.xml
關(guān)于文件分發(fā)的assembly.xml配置:
src/main/bin
bin
755
target/classes/conf/
conf
755
unix
*.formatted
755
${project.artifactId}-${project.version}.jar
/lib/
runtime
${project.groupId}:${project.artifactId}
755
${project.name}-jar-with-dependencies.jar
/lib/
runtime
項(xiàng)目結(jié)構(gòu)圖:
通過mvn package -Pdev命令打包后conf中的配置文件是按照dev環(huán)境生成的結(jié)果
解析后的conf.yamlpath=/dev/wh/source/tp
target目錄下的結(jié)構(gòu)圖,紅框標(biāo)記的就是期待的結(jié)構(gòu)目錄
3.項(xiàng)目按bin、conf、lib生成部署結(jié)構(gòu),剩下的事情就交給Jenkins,通過Jenkins以及其插件,將打包結(jié)果上傳目標(biāo)服務(wù)器
如下主要描述Jenkins配置的主要幾個(gè)位置