部署應用介紹與前期準備
這一部分的操作不是在之前的2臺服務器上(jenkins服務器和應用部署服務器),而是在開發人員自己的workpc上
Fork(派生)部署應用(這裏可以跳過)
web應用程序--放在linux應用部署服務器
mysql數據庫--
Fork部署應用程序,獲得代碼修改權限
Fork
爲了做測試,把項目從別的倉庫複製到自己的倉庫
將原碼工程複製到自己的git空間下,之後自己空間下的原碼就有修改權限
如何fork應用程序
搜索進入要複製的工程倉庫點擊fork按鈕
項目就自動派生到自己的倉庫裏了
-----------------------------------------------------------------------------------------------------------
將應用原碼部署到本機
maven導入intellij
https://blog.csdn.net/bobozai86/article/details/80346370
自動化部署任務開發
流程:
git 同步最新代碼--maven打包--停止tomcat--部署應用--啓動tomcat--驗證結果
訪問jenkins,創建jenkins任務
1.構建一個自由構建的軟件
2.填寫service信息
勾上retrict where this project can be run
填寫上次的節點
3.配置git參數
設置gitlab源碼庫的位置
repository url填寫源碼倉庫的位置
additional behavior 右側點擊add,選擇check-out to a sub-directory,給你要下載到的目錄命名
4.填寫構建語句,實際構建測試環境
輸入
這個語句的作用是:jenkins執行完成後jenkins進程會關閉但是service進程不會被殺掉
作用:加載配置項
執行部署任務
確定執行結果成功
打開瀏覽器訪問
本人遇到問題:
1.數據庫問題:
由於之前項目連接的數據庫是docker容器裏的,但是本人並不會建立橋接模式,所以這個容器的數據庫只能是本機訪問,現在項目部署到了centos7環境下,考慮到遠程連接問題,我就裝了一個普通的mysql5.6
centos7下安裝mysql5.6
https://www.cnblogs.com/renjidong/p/7047396.html
導入sql文件
(sql文件先上傳到百度網盤,再通過centos瀏覽器訪問網盤下載到本地)
https://www.cnblogs.com/yuwensong/p/3955834.html
設置遠程訪問
mysql -u root -p;
輸入密碼
use mysql;
grant all privileges on *.* to 用戶名@'%' identified by "密碼";
後來又出了一個大問題,就是user表有些記錄的密碼變成了空,導致無法訪問mysql!解決方案如下:
修改mysql配置文件,設置mysq登錄爲不需要密碼
vi /etc/profile 按i進入編輯模式
在 mysqld下面添加命令:
skip-grant-tables跳過授權訪問表
按下esc 輸入:wq!強制保存並退出
重啓mysql : service mysqld restart
無密碼訪問mysql,刪除數據庫中password字段爲空的記錄
mysql -u root -p
user mysql;
select user,password from user ;6條記錄
select user,password from user where user='root' ;4條記錄,並且密碼都不爲空
於是:delete from user where user !='root';
ctrl+c退出mysql
進入mycof文件把之前添加的skip-grant-tables刪除,保存
重啓mysql : service mysqld restart
2.jenkins部署的應用只能在本地訪問靜態頁面
jsp頁面中的項目名不要寫死,採用域對象動態獲取的方式
${pageContext.request.contextPath}
3. 0-0-1maven項目後綴問題
maven項目打成war包部署到tomcat的話,包名的命名是在項目名後面加上
-0.0.1-SNAPSHOT.war
解決方案:手動設置war包名https://blog.csdn.net/weixin_36586564/article/details/80257771