jenkins自動釋出java程式碼

java愛好者i發表於2019-03-29

進行實戰java程式碼釋出,此利用github私有倉庫拉去,jenkins利用maven編譯原始碼後講包釋出致web伺服器。

一、git私有倉庫建立 可參考GIT筆記中遠端倉庫搭建部分,此處java原始碼使用zrlog,將原始碼pull到github上,將jenkins公鑰配置到github上,即可下一波。

二、web伺服器tomcat配置 在需要將程式碼釋出的web伺服器上需要配置tomcat的manager頁面。

yum install java-1.8.0-openjdk.x86_64 -y &&
wget -c -O /usr/local/apache-tomcat-9.0.2.tar.gz && \ mirrors.tuna.tsinghua.edu.cn/apache/tomc… &&
cd /usr/local/ && tar -xf apache-tomcat-9.0.2.tar.gz &&
此時tomcat已經安裝成功,需要配置manager頁面。

需要在/usr/local/tomcat/conf/tomcat-users.xml 新增以下內容。

jenkins自動釋出java程式碼
修改完畢如上圖,新增manager的role角色許可權,其次需要修改manger頁面的源控訪問,新增jenkins的ip為白名單內。

修改/usr/local/tomcat/webapps/manager/META-INF/context.xml

預設tomcat的manager頁面只允許本地的和ipv6的地址,此處我的jenkins伺服器ip為:172.20.6.0/24,可根據實際情況來定,支援網段,不要開放全部開放0.0.0.0,以防**。

jenkins自動釋出java程式碼

配置完成後需要啟動tomcat/usr/local/tomcat/bin/startup.sh

此時,我們可以進行測試web伺服器的tomcatmanager介面,http://IP:8080/manager/index.html

填寫配置檔案內的使用者名稱:admin,密碼:kaliarch

jenkins自動釋出java程式碼

三、建立釋出專案 釋出java,需要安裝兩個外掛,Maven Integration plugin 和 Deploy to container Plugin,若沒有安裝則需要安裝這兩個外掛 安裝完外掛後,需要重啟jenkins。

3.1 新建item

輸入專案名稱,選擇構建一個maven專案,確定。

jenkins自動釋出java程式碼
3.2 配置原始碼管理

原始碼管理選擇git,填入倉庫url

jenkins自動釋出java程式碼

此時發現會出現報錯資訊,因為此倉庫為我的私有倉庫,需要配置Credentials,點開add, Add Credentials的 Kind選擇SSH Username with private key,Username選擇之前在github上傳的公鑰使用者的使用者名稱,此次為root,Private Key為jenkins伺服器登入github的本地私鑰,檢視私鑰cat /root/.ssh/id_rsa 複製貼上到Key區域,完成新增。此時可以發現報錯已經消失。

jenkins自動釋出java程式碼

3.3 配置釋出到web伺服器

新增增加構建後操作,選擇Deploy war/ear to a container,WAR/EAR files填寫**/*.war,Containers選擇增加容器,增加tomcat 8.x,Credentials點add,此處填寫的為tomcat的manager頁面的使用者名稱密碼,此處為admin/kaliarch,

jenkins自動釋出java程式碼

tomcat url填寫web伺服器的tomcaturl,

jenkins自動釋出java程式碼

3.4 配置郵件資訊通知

新增增加構建後操作,選擇Editable Email Notification,利用外掛郵件來傳送通知。

可以根據需求自定義郵件主題與內容,此處新增資訊接受人,由於全域性配置了always,在高階設定內,填寫接受人郵箱。

jenkins自動釋出java程式碼

3.5 資訊檢視

點選儲存,並立即構建,可以檢視日誌資訊。

jenkins自動釋出java程式碼

登入web伺服器,檢視war包已經發布完成。

jenkins自動釋出java程式碼

開啟web頁面進行測試。

jenkins自動釋出java程式碼

檢視郵件通知。

jenkins自動釋出java程式碼

至此,java程式已經完成釋出,之後修改程式碼後可以提交到github,然後通過jenkins自動釋出即可。

歡迎工作一到五年的Java工程師朋友們加入Java架構師:697558955

群內提供免費的Java架構學習資料(裡面有高可用、高併發、高效能及分散式、Jvm效能調優、Spring原始碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!

相關文章