花了三天時間,終于將部署好了,踩了太多的坑!希望給以后需要使用華為云來部署項目的人一些幫助!
注意:華為云CentOS7.6是自動安裝了JDK8的,所以不需要自己安裝
由于,后面在Tomcat和Jenkins里面都需要用到JDK的安裝目錄,可以參考這篇博客:linux下找到JDK的安裝路徑
如果是自動安裝的JDK8,那么路徑應該和我的是一樣的。
不過雖然是自動安裝了JDK,但是并沒有配置 /etc/profile 文件。所以我們還是得自己手動配置。
通過上面這篇博客,你就可以找到你的JDK的安裝路徑,
我通過博客里說的方法,找到的安裝路徑是:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.aarch64
所以,我在 /etc/profile 文件尾部是這樣配置的
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.aarch64/jre
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
我覺得上面這篇博客已經寫的很清楚了,大家按照它的思路來就行!
【安裝】在CentOS7.6上安裝軟件的兩種方式
- 使用Docker安裝這些軟件
- 手動安裝并配置
1、使用Docker進行安裝【特別注意,不推薦】
如果使用Docker安裝,在安裝MySQL5.7的時候很有可能會報錯:
no matching manifest for linux/arm64/v8 in the manifest list entries
報錯的原因,這篇博客已經說的很清楚了,可自行查看:在華為云,使用Docker拉取鏡像報錯
華為官方的文檔,也驗證了這個說法:尋找適配鯤鵬架構的Docker鏡像
去Docker鏡像庫里面查找,在“Architectures”選項中選上"ARM 64",你再搜索MySQL,你是搜不到的。如果不選"ARM 64",可以搜出來MySQL,但是你可以看到,它是不支持ARM64的。
綜上:說明Docker的官方庫中,沒有適配華為鯤鵬架構的MySQL,所以,在華為云上,使用Docker安裝MySQL這條路是行不通的!
(補充:我甚至將Docker的下載源設置為華為的鏡像源,然后,雖然可以將MySQL下載下來,當時我就覺得自己成功了,結果,在安裝的時候,還是報錯,說 linux/arm64 與 linux/arm64/v8 不匹配,所以大家也不用去試了,我已經替大家試過了!)
(再次補充:不知道這種情況以后會不會改變,所以也只是給大家一個提醒,如果出現這種情況,那就不要用Docker進行安裝MySQL了,免得在網上找各種方式,真的很浪費時間!)
華為云CentOS7.6安裝Docker
雖然在華為云上,Docker雖然不能安裝MySQL,但是可以安裝其它適配了鯤鵬架構的軟件的,所以我還是將安裝文檔給你們,按照自己的需求自行選擇是否安裝Docker。CentOS7.6安裝Docker的華為官方文檔
2、手動安裝并配置(在華為云上,我推薦用這種方式)
為什么推薦呢?
因為這些軟件的安裝都有官方文檔!!!
只要按照官方文檔,一步一步來,肯定是不會有問題的!
其實說白了,Docker安裝用不了,只能手動安裝,沒辦法~
首先,配置華為鏡像源
使用華為云提供的CentOS-Altarch鏡像源(ARM)
說明:為什么需要先配置這個呢?
那是因為我在安裝最后Git的時候,需要下載兩個依賴插件,結果就是下載不下來,最后將CentOS的下載鏡像源設置成華為的,就可以下載了。所以這里就先配置,以免出現不必要的錯誤!
安裝MySQL5.7
華為官方文檔:MySQL 5.7.27 安裝指南
按照官方文檔一步一步來進行安裝就可以了,我按照官方文檔來安裝,這個過程很流暢,沒有出現任何問題!
這里只需要注意一點:就是在 安裝 這一步,我推薦選擇 鏡像站RPM安裝 ,雖然這樣會導致后面的 運行 這一步會多配置一些東西,但是這樣安裝速度是最快的,
因為 編譯安裝 的速度是很慢的。別問我為什么知道編譯安裝很慢,還不是因為當時年少無知!
因為我一開始使用的是編譯安裝,結果后面自己配置出錯了,導致我又重新安裝了一遍!
在編譯安裝中,需要提前配置編譯環境,升級CMake和GCC,在升級GCC的編譯這一步,我購買的是2核4G服務器,就這一步,CPU滿血運行,CPU占用率一直處于99%,持續運行了80分鐘左右,才終于編譯好GCC。所以為了不浪費大家的時間,我真的不推薦大家使用編譯安裝,真的太浪費時間了
(補充:但是如果你購買的服務器配置很好的話,那就當我沒說,你隨便選擇一種安裝方式就可以了哈~)
安裝Tomcat
華為官方文檔:Tomcat7、Tomcat8、Tomcat9安裝指南
這里可以按照官方的文檔來進行安裝,也可以自己使用其它方式安裝。
比如自己將安裝包下載到本地,然后上傳到服務器中,再解壓,也可以。
安裝包就自行去網上百度下載即可哈,網上有很多~
下面給出一個簡單的安裝流程,僅供參考:
1:復制這個安裝包壓縮文件linux_apache-tomcat-7.0.26.tar.gz到 /usr/local目錄下
cp linux_apache-tomcat-7.0.26.tar.gz /usr/local/
2、進入文件進行解壓
tar -zxvf linux_apache-tomcat-7.0.26.tar.gz
3、啟動Tomcat
cd apache-tomcat-7.0.26/bin/
./startup.sh
4:查看8080端口的使用情況
netstat -apn | grep 8080
安裝Git
為什么CentOS7.6自帶了Git,還需要卸載了重新安裝一個呢?
那是因為自帶的Git版本太低了,為了防止在后面配置 Jenkins 的時候出現問題,否則最好是安裝一個高一點的版本。我安裝的版本git-2.10.0
安裝Git,我沒有找到華為的官方文檔。但其實也很簡單。
【特別注意】安裝前提是,你已經 配置了華為鏡像源 ,否則編譯Git的依賴是下載不下來的。如何配置,上面已經說過了,這里就不再贅述了
安裝包就自行去網上百度下載即可哈,網上有很多~
我的安裝步驟如下:
1、安裝編譯Git所需要的依賴
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install -y gcc perl-ExtUtils-MakeMaker
2、刪除系統已經有的git
yum remove git
3、解壓這個git文件
tar -zxvf git-2.10.0.tar.gz
4、進入解壓的根目錄
cd git-2.10.0
5、編譯Git
make prefix=/usr/local/git all
6、安裝Git
make prefix=/usr/local/git install
7、配置環境變量,修改 /etc/profile 文件
export PATH=$PATH:/usr/local/git/bin
8、使能環境變量
source /etc/profile
9、檢查是否有git的版本信息輸出,如果有說明安裝正確
git --version
安裝Jenkins 以及 Maven
華為官方文檔:Jenkins 安裝指南
華為官方文檔:Maven 安裝指南
安裝maven
- 這里需要說明一下:
官方的 Jenkins 安裝指南里面,那個maven的下載地址有可能是錯誤的,訪問是404,下載不下來。所以您可以借助 Maven 安裝指南的下載地址,然后安裝的步驟還是安裝 Jenkins 安裝指南中的走就行了。
或者,你也可以自己去百度下載安裝包,上傳到服務器中自行安裝。
我就是自己安裝的,沒有按著官方的文檔走。
安裝包就自行去網上百度下載即可哈,網上有很多~
我的安裝 maven 的步驟如下:
1、在/usr/local目錄下創建 maven3目錄
mkdir /usr/local/maven3
2、解壓這個壓縮文件
tar -zxvf apache-maven-3.8.1-bin.tar.gz
3、配置環境變量,修改 /etc/profile 文件
export M2_HOME=/usr/local/maven3/apache-maven-3.8.1
export PATH=$PATH:$M2_HOME/bin
4、使能環境變量
source /etc/profile
5、驗證maven是否安裝完成
mvn --version
安裝Jenkins
第1種情況:特別注意,官方文檔是安裝 Jenkins,所以它是下載的 rpm 包。
第2種情況:如果你是想通過 Tomcat 啟動 Jenkins,那么就需要自己去下載 Jenkins 的 war 包,然后把這個 war 包放在 Tomcat 的 webapps 文件夾下面就可以了!!!
我是通過 Tomcat 這種方式啟動的,相當于就是把 Jenkins 作為一個web項目放在 Tomcat 里。
我將下載下來的 war 包名字改為: jenkins.war ,然后放在 Tomcat 的 webapps 文件夾下,然后 Tomcat 就會自動解壓這個 war 包,解壓完成之后,在 webapps 文件夾下面就會多一個 jenkins 文件夾。
至此,啟動 Tomcat ,如果 8080 端口處于監聽狀態,那么就可以通過瀏覽器訪問 Jenkins 了!!!
在瀏覽器地址欄輸入 IP地址:8080/jenkins 就可以出現如下界面了,如果出現了如下界面,就說明 Jenkins 安裝成功了!!!
【配置】 Jenkins ,與 碼云Gitee 相互聯動,與 第三方服務器 相互聯動
需要實現的效果:
1、在 IDEA 上一提交代碼到 碼云Gitee 的倉庫中,
2、Gitee 就會自動執行 WebHooks ,調用專屬鏈接, 自動觸發 Jenkins 執行如下操作:
- 去 Gitee 上拉取該項目的代碼,
- 將拉取下來的代碼進行構建打包,
- 最后將打包好的這個 war 包,自動熱部署到 第三方服務器 Tomcat 上 。
3、這樣,第三方服務器 Tomcat 中的 webapps 文件夾下的這個項目的 war 包就自動更新了,
4、然后 Tomcat 會自動解壓這個最新的 war 包。
5、所以,當用戶再次點擊訪問這個網址的時候,看到的就是更新后的項目了!!!
綜上:就達到了 持續集成 的效果!!
大部分步驟,我這里就省略了,這里給出幾篇博客,供大家參考。
- IDEA 與 碼云Gitee 的聯動:idea配置gitee、上傳項目、更新項目
- 碼云Gitee 與 Jenkins 的聯動:Jenkins + Gitee(碼云) 實現代碼自動化構建
Jenkins 與 第三方服務器 的聯動:我沒找到比較好的博客,這里我就自己寫一下吧,哈哈
第一步:給 第三方服務器 上的 Tomcat 設置 賬戶密碼
這里給 Tomcat 設置賬戶密碼是因為 Jenkins 的 “構建后操作” 功能里面,需要 Tomcat 的賬戶密碼,所以這里設置一下。
- 首先,在 Tomcat安裝目錄下的 /conf/tomcat-user.xml 文件尾部添加下面這些話
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="admin-gui,admin,manager-gui,manager,manager-script,manager-jmx,manager-status"/>
最后一行的 username="admin",password="admin",是我這里默認的賬戶密碼,只有這里你可以自定義哈,建議其它地方就不建議改動了!
在 tomcat-user.xml 文件中復制粘貼的位置如下圖:
- 然后,在 Tomcat安裝目錄下的 /conf/Catalina/localhost 添加一個manager.xml文件
1、進入 Tomcat安裝目錄下的 /conf/Catalina/localhost 這個目錄
比如:cd /usr/local/apache-tomcat-8.5.56/conf/Catalina/localhost
2、添加一個 manager.xml 文件
mkdir manager.xml
效果如下圖:
3、在這個 manager.xml 文件中復制粘貼如下這些話
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
效果如下圖:
第二步:重新啟動 Tomcat
當啟動成功后,在瀏覽器地址欄輸入 IP地址:8080 ,如果出現如下界面,說明 Tomcat 啟動成功。那么就點擊圖中我畫藍色線條的地方。
第三步:彈出如下界面,這里輸入 Tomcat 的用戶名密碼
如果是直接復制粘貼我上面的內容,那么這里的用戶名密碼就都是 admin,如果你是自己設置了用戶名和密碼,那就輸入你自己設置的即可。
第四步:輸入用戶名密碼,點擊登錄,如果出現如下界面,就說明 Tomcat 賬戶密碼設置成功了!那么 Tomcat 這邊就設置完了!
第五步:在 Jenkins 的 “插件管理” 中看看有沒有安裝 Deploy to container 這個插件,如果沒有安裝就在 “可選插件” 中搜索一下,然后安裝一下,安裝后的效果如下圖:
【特別注意】只有完成了第五步,才可以繼續往下走
第六步:配置 構建后的操作 ,按照我圖片的順序來走就行
- 進入這個工程的界面
image.png
image.png
image.png
image.png
image.png
image.png
image.png
至此,Jenkins 與 第三方服務器 的聯動就設置完了!!!
最后,大家可以測試一下,我是已經測試成功了,IDEA點擊push提交代碼,第三方服務器中的項目就自動更新了~