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