進行實戰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程式碼](https://i.iter01.com/images/16bfd1afe6cabf07fbc4fca19238f2842e0b73118b9e91345a4658dde429e4e0.png)
修改/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程式碼](https://i.iter01.com/images/9f83d5493ae879bd77acbb5661906ca825dc2283702cd3c8d3831c61bef8843b.png)
配置完成後需要啟動tomcat/usr/local/tomcat/bin/startup.sh
此時,我們可以進行測試web伺服器的tomcatmanager介面,http://IP:8080/manager/index.html
填寫配置檔案內的使用者名稱:admin,密碼:kaliarch
![jenkins自動釋出java程式碼](https://i.iter01.com/images/dd18bd7e2fc34c2d973f9f3d54d25c4f28faabf0df7d74666a4808636c598083.png)
三、建立釋出專案 釋出java,需要安裝兩個外掛,Maven Integration plugin 和 Deploy to container Plugin,若沒有安裝則需要安裝這兩個外掛 安裝完外掛後,需要重啟jenkins。
3.1 新建item
輸入專案名稱,選擇構建一個maven專案,確定。
![jenkins自動釋出java程式碼](https://i.iter01.com/images/d5420f4fe03074a24ed424f47f0469f845a9c59b9311d2d4ceaa297eebca2123.png)
原始碼管理選擇git,填入倉庫url
![jenkins自動釋出java程式碼](https://i.iter01.com/images/d514965ce8e9973250e667beab273b9cb44466e7c80c84f487ec48bf1c249d82.png)
此時發現會出現報錯資訊,因為此倉庫為我的私有倉庫,需要配置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程式碼](https://i.iter01.com/images/4ed330032a54ecb01eda2f0bd8da3272d6062c0103ff18373ede7b26f35afed2.png)
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程式碼](https://i.iter01.com/images/12b2ad4719c97d1ba0270a9ae162584635744099dc2ea8cc577d67379c887cf0.png)
tomcat url填寫web伺服器的tomcaturl,
![jenkins自動釋出java程式碼](https://i.iter01.com/images/9f563c7774e62f8b178c743071b5480df1a7c03d5e69392f24a2d26228c8082f.png)
3.4 配置郵件資訊通知
新增增加構建後操作,選擇Editable Email Notification,利用外掛郵件來傳送通知。
可以根據需求自定義郵件主題與內容,此處新增資訊接受人,由於全域性配置了always,在高階設定內,填寫接受人郵箱。
![jenkins自動釋出java程式碼](https://i.iter01.com/images/474a1ff70bd4f8393301daced9e2ecfb6783bfbf320127e33fb90ba66a59ec03.png)
3.5 資訊檢視
點選儲存,並立即構建,可以檢視日誌資訊。
![jenkins自動釋出java程式碼](https://i.iter01.com/images/5d2efe7147008fe0ffb9c22c3ac2dd74af37b1a9da1b6fcd8ccb530e028b3973.png)
登入web伺服器,檢視war包已經發布完成。
![jenkins自動釋出java程式碼](https://i.iter01.com/images/0db9ae42980699a011df99d63a15d0bc6a52edef4c5fa6cf49d24e0a02146598.png)
開啟web頁面進行測試。
![jenkins自動釋出java程式碼](https://i.iter01.com/images/9432390a2949b372337b0a8280c5afd5381ae9e4ad2d17756728ce1cdf68813a.png)
檢視郵件通知。
![jenkins自動釋出java程式碼](https://i.iter01.com/images/24eeb140040b49f5ba8571fb901223b741b42972134f1d9220ce988341c8c6ef.png)
至此,java程式已經完成釋出,之後修改程式碼後可以提交到github,然後通過jenkins自動釋出即可。
歡迎工作一到五年的Java工程師朋友們加入Java架構師:697558955
群內提供免費的Java架構學習資料(裡面有高可用、高併發、高效能及分散式、Jvm效能調優、Spring原始碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!