這個系列有四篇文章,自動部署分成了2篇:
- jenkins+git+maven持續(xù)集成(一):主要介紹Centos7下jenkins的安裝
- jenkins+git+maven持續(xù)集成(二):主要介紹下jenkins怎么集成git+maven進行自動構建
- jenkins+git+maven持續(xù)集成(三):主要介紹下jenkins怎么集成進行自動部署(發(fā)布到maven私有庫)
- jenkins+git+maven持續(xù)集成(四):主要介紹下jenkins怎么集成進行自動部署(通過SSH部署到服務器)
上篇介紹了怎么用maven+git進行自動構建厕宗,既然都能自動構建了彻亲,那么自動部署肯定是少不了的。
構建后操作
回到前面的jenkinsDemo任務編輯頁面翻斟,在構建的下面能看到“構建后操作”:
我們點開“增加構建后操作步驟”:
1. 發(fā)布包到maven私有庫
其中有一個項目中用到比較多的“Deploy artifacts to Maven repository”逾礁;這個就是部署到maven倉庫,在實際項目開發(fā)中访惜,大部分時候我們只需要關注自己的業(yè)務或者調用其他項目的接口嘹履,至于怎么實現的我們不用太去關注,而且可能都沒有權限去看相關代碼债热,但是我們還是需要用到相關的jar砾嫉。那么怎么辦呢,其實就和我們使用maven一樣窒篱,只是需要公司搭建自己的私有庫焕刮,然后將自己開發(fā)的接口或公共的jar提交上去,這時在構建完添加“Deploy artifacts to Maven repository”就很有用了墙杯,這個操作會幫助我們直接將構建好的pom或者jar包發(fā)布到Maven私有庫去配并。
1.1 手動發(fā)布包到maven私有庫
這里簡單地說下maven的setting.xml的配置:
在<servers>中添加release和snapshot對應的server信息:
然后在<mirrors>中添加私服的鏡像(這里的賬號密碼需要在私服中創(chuàng)建并設置有deploy的權限):
最后在<profiles>中添加release和snapshot對應的地址信息:
有多個profile的時候需要指定一個使用的:
關于私服的搭建就不在這里描述了,可以參考我以前寫的Window下搭建Nexus3私服高镐;linux下的操作也大同小異溉旋,不過是tar包,解壓后運行對應的shell就可以了嫉髓。
maven的設置到這里就結束了观腊,不過對應的工程也需要做相關的修改。還是拿我們做集成的spring-cloud工程為例算行,在根目錄下pom中添加<distributionManagement>:
注意這里的repository id要和maven setting.xml中設置的對應梧油;然后一般java項目中會有個頂級的pom配置工程,所有其他的java maven工程都集成頂級的pom纱意,所以一般只要在頂級的pom配置工程中添加一次就可以了婶溯。
這里簡單地做下測試是否能正常發(fā)布,先看下私有庫對應的包(這里我發(fā)布過一次了):
我們在根目錄運行:
mvn deploy
可以看到發(fā)布成功了,而且還有相關的報信息(這里就只截取最后一段信息):
我們回到私有庫查看是否有剛才發(fā)布的包:
可以看到確實是剛才通過運行命令發(fā)布的包迄委,其他的包信息也能對上褐筛,這里就不一一比對了。到這里說明具備了發(fā)布包到私有庫的能力叙身,接下看下Jenkins中怎么自動發(fā)布渔扎。
1.2 Jenkins自動發(fā)布包到maven私有庫
回到“增加構建后操作”,選擇“Deploy artifacts to Maven repository”信轿,然后點開“高級”晃痴;這里我們是snapshot版本的,添加對應的信息:
保存后财忽,回到任務頁面點擊“立即構建”倘核,進入控制臺查看:
可以看到自動構建完成后,進行了deploy相關的操作即彪。我們再回到maven私有庫檢查是否上傳成功了:
包名是對應的紧唱,到這里說明自動發(fā)布到maven私有庫成功了。
下一篇會介紹通過SSH自動部署到服務器上隶校。