jenkins自動發布java代碼
一、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 && \ http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz && \
此時tomcat已經安裝成功,需要配置manager頁面。
需要在/usr/local/tomcat/conf/tomcat-users.xml 添加以下內容。
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user name="admin" password="kaliarch" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
修改完畢如上圖,添加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,以防**。
配置完成後需要啟動tomcat/usr/local/tomcat/bin/startup.sh
此時,我們可以進行測試web服務器的tomcatmanager界面,http://IP:8080/manager/index.html
填寫配置文件內的用戶名:admin,密碼:kaliarch
三、創建發布項目
發布java,需要安裝兩個插件,Maven Integration plugin 和 Deploy to container Plugin,若沒有安裝則需要安裝這兩個插件 安裝完插件後,需要重啟jenkins。
3.1 新建item
輸入項目名稱,選擇構建一個maven項目,確定。
3.2 配置源碼管理
源碼管理選擇git,填入倉庫url
此時發現會出現報錯信息,因為此倉庫為我的私有倉庫,需要配置Credentials,點開add, Add Credentials的 Kind選擇SSH Username with private key,Username選擇之前在github上傳的公鑰用戶的用戶名,此次為root,Private Key為jenkins服務器登錄github的本地私鑰,查看私鑰cat /root/.ssh/id_rsa 復制粘貼到Key區域,完成添加。此時可以發現報錯已經消失。
添加增加構建後操作,選擇Deploy war/ear to a container,WAR/EAR files填寫*/.war,Containers選擇增加容器,增加tomcat 8.x,Credentials點add,此處填寫的為tomcat的manager頁面的用戶名密碼,此處為admin/kaliarch,
tomcat url填寫web服務器的tomcaturl,
3.4 配置郵件信息通知
添加增加構建後操作,選擇Editable Email Notification,利用插件郵件來發送通知。
可以根據需求自定義郵件主題與內容,此處添加信息接受人,由於全局配置了always,在高級設置內,填寫接受人郵箱。
3.5 信息查看
點擊保存,並立即構建,可以查看日誌信息。
登錄web服務器,查看war包已經發布完成。
打開web頁面進行測試。
查看郵件通知。
至此,java程序已經完成發布,之後修改代碼後可以提交到github,然後通過jenkins自動發布即可。
歡迎工作一到五年的Java工程師朋友們加入Java架構師:697558955
群內提供免費的Java架構學習資料(裏面有高可用、高並發、高性能及分布式、Jvm性能調優、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!
jenkins自動發布java代碼