自動化部署
“自動化”的具體體現(xiàn):向版本庫提交新的代碼后告喊,應用服務器上自動部署回铛,用戶或測試人員使用的馬上就是最新的應用程序
Jenkins獲取源碼完成打包和部署
Jenkins 自身采用 Java 開發(fā),所以要必須安裝 JDK傻丝; 集成的項目基于 Maven 構架,所以 Maven 也必須安裝诉儒;
首先要安裝JDK1.8和maven
安裝JDK1.8和Maven教程
使用java通用的war
到官網(wǎng)下載Jenkins https://jenkins.io/download/
把war上傳到linux
啟動jenkins 不指定端口默認為8080
java -jar jenkins.war (前臺啟動方式 ctrl+c就關閉)
nohup java -jar jenkins.war --httpPort=8080 > /data/log/jenkins.log & (推薦后臺啟動方式)
關閉防火墻
systemctl stop firewalld
http:localhost:8080 訪問Jenkins
cat /root/.jenkins/secrets/initialAdminPassword查看管理員密碼
輸入密碼進入到
點擊安裝推薦的插件
等待安裝(需要linux能夠上網(wǎng)) 安裝完成
右下角使用admin繼續(xù)登陸 下一步完成之后 如果需要登陸admin 密碼是上面查看的管理員密碼
Jenkins安裝成功
使用maven和git搭建Jenkins的自動部署
需要安裝git git安裝教程
在安裝Jenkins中安裝所需要的插件
點擊系統(tǒng)管理->插件管理 ,安裝以下插件
1. Maven Integration jenkins 利用maven編譯葡缰,打包,所需插件
2. Deploy to Container
安裝完插件后允睹,重啟Jenkins
系統(tǒng)管理->全局工具配置 ,配置路徑
maven配置
JDK配置
git配置
which git查詢git的安裝路徑
全局工具配置配置完成
新建任務
這里使用自己搭建的gitlab做為倉庫运准,因為github的自動構建需要Jenkins有外網(wǎng)才行
配置git
這樣就能夠從gitlab上獲取到源碼,點擊
把打包好的項目放到需要部署的的服務器上
配置構建后操作 構建的項目在target目錄下
配置需要把項目部署到哪個服務器的tomcat上
這里Jenkins的服務器是192.168.79.131胁澳。
需要部署的項目的服務器放在192.168.79.132中,需要設置tomcat的賬號密碼米者,jenkins才能把部署傳上去
到192.168.79.132的tomcat配置文件中設置賬號密碼
vim /data/apache-tomcat-8.5.35/conf/tomcat-users.xml
加上
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username=""tomcat_user" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
tomcat8.5進行管理后臺還需要配置webapps/manager/META-INF/context.xml
修改前
指誰能訪問韭畸,注釋掉context或者把127修改成\d+ 這是正則表達式
點擊,登陸上面配置的賬號密碼 tomcat_user 123456 能登錄進去證明配置成功
在配置文件server.xml加上修改 URL 地址的編碼解碼字符集
完成需要部署的服務器的tomcat配置
接下來繼續(xù)配置Jenkins
添加
保存
點擊立即構建
正在構建(就是重新打包)
構建完成后查看部署項目的服務器上tomcat的webapp蔓搞,就能看到abc.war胰丁。
訪問http://192.168.79.132:8080/abc/就能訪問到部署的項目喂分。
更新代碼提交到gitlab
點擊立即構建
說明構建成功
安裝Gitlab Hook Plugin插件:
系統(tǒng)管理-管理插件-可選插件-Gitlab Hook和Build Authorization Token Root
在linux上執(zhí)行命令生成token(身份驗證令牌)
openssl rand -hex 12
保存
配置gitlab鉤子配置
進到gitlab的Settings-Integrations
add webhook之后會報這么一個錯
gitlab 10.6 版本以后為了安全,默認不允許向本地網(wǎng)絡發(fā)送webhook請求梆掸,如果想向本地網(wǎng)絡發(fā)送webhook請求扬卷,則需要使用管理員帳號登錄,默認管理員帳號是admin@example.com酸钦,密碼就是你gitlab搭建好之后第一次輸入的密碼
再配置鉤子
測試一下配置是否成功
Hook executed successfully: HTTP 201表示成功
這樣就完成自動構建的配置了怪得,直接git pull 提交代碼,就會觸發(fā)立即構建
大功告成
這里是war的jenkins構建。不知道springboot的jar和dubbo配置是否一致徒恋,后續(xù)學習