jenkins+git+maven+tomcat 實現自動打包部署
jenkins+git+maven+tomcat 實現自動打包部署
一、安裝JDK
-
進入官網下載jdk,我使用的是jdk1.8
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html -
配置環境變數
修改/etc/profile檔案 vi /etc/profile
在檔案末尾新增export JAVA_HOME=/usr/local/jdk/jdk1.8.0_201 #配置jdk解壓後存放路徑 export JRE_HOME=$JAVA_HOME/jre #配置jre export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin #配置PATH,中間用:隔開
-
儲存檔案後,執行source /etc/profice使修改生效
-
執行java -version命令檢視是否安裝成功,出現jdk版本號證明安裝成功
二、安裝maven
-
首先安裝wget命令(maven包使用得是wget命令下載的)
yum -y install wget -
下載maven
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz -
解壓maven tar包
tar -zxvf apache-maven-3.6.0-bin.tar.gz -
配置環境變數
export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.0 #配置maven解壓後的檔案地址
在PATH後面追加上:$MAVEN_HOME/bin
- 儲存檔案後,執行source /etc/profice使修改生效
- 執行mvn -version命令檢視是否安裝成功,出現maven版本號證明安裝成功
三、安裝git
-
下載git
yum -y install git -
執行git --version 命令檢視是否安裝成功,出現git版本號證明安裝成功
四、安裝jenkins 並使用
-
從官網下載war包
下載地址:https://jenkins.io/download/;下載的是2.165版本 -
將war包放到tomcat並執行,訪問地址tomcat地址,解鎖Jenkins
首次進入是這個頁面,管理員密碼在紅色字型得對應得路徑檔案中,獲取內容後貼上過去就可以
cat /root/.jenkins/secrets/initialAdminPassword -
自定義Jenkins ,安裝外掛
推薦選擇安裝推薦外掛,選擇安裝推薦外掛後,就進入下載外掛頁面等待十分鐘左右就會進入主頁面 -
建立管理員使用者
下載完之後會出現建立管理員使用者頁面,用於之後訪問Jenkins的使用者,建立完之後就可以進入Jenkins主頁面了
-
配置jdk、Maven、GIt
開啟系統管理→全域性工具配置
配置jdk
自動安裝不選中,name隨便填寫,JAVA_HOME填寫JDK的安裝路徑
配置Maven
自動安裝不選中,name隨便填寫,MAVEN_HOME新增Maven的安裝路徑
配置git
name隨便填寫,Path to Git executable填寫git應用,如果引用上面的方式下載的git預設地址在/usr/bin/git
配置完所有資訊後點選儲存 -
安裝所需外掛
點選系統管理→外掛管理。
點選可選外掛,在搜尋框搜尋,然後選中點選直接安裝即可
需要安裝兩個外掛。ssh連線外掛:publish over ssh;建立maven專案所用外掛:Maven Integration
-
配置ssh連線資訊
在配置ssh連線資訊之前需要配置git並生成一個git金鑰,然後git上新增此金鑰。在伺服器執行命令
配置git
git config --global user.name “使用者名稱”
git config --global user.email “登入使用者郵箱”
生成git金鑰
ssh-keygen -t rsa -C’git登入使用者名稱’
執行完此命令後按三下回車
生成完金鑰後進入~/.ssh目錄,會有一個id_rsa和id_rsa.pub檔案
檢視id_rsa.pub檔案,將檔案內容複製到自己的git上的SSH金鑰上並新增。下面可以配置ssh連線了
點選系統管理→系統設定。
下滑到Publish over SSH配置的地方,在SSH Servers點選新增,右下角位置點選高階,選中Use password authentication, or use a different key
Passphrase:這個密碼是指生成git金鑰的密碼,我們們生成git金鑰的時候沒有新增密碼所以填空就可以
Path to key:這個是指git生成的位置。這個可以不用填,直接將id_rsa檔案內容填進下面的key中
Key:這個是指git金鑰內容,將id_rsa這個檔案內容填進即可。此資訊和Path to key必須填一個!!
Name:是指建立的名稱,可以隨便填寫
Hostname:是指伺服器連線地址
Username:是指伺服器登入使用者名稱
Remote Directory:要存放東西的伺服器目錄, 這裡填寫tomcat 的部署目錄webapps
Passphrase / Password:是指伺服器連線密碼
將所有資訊填寫完畢之後點選最下方的Test configuration,如果出現success字樣代表連線伺服器成功,點選儲存 -
新建maven專案
之前把所有的配置資訊均已配置好,下面就要新建一個maven專案
點選新建任務,選擇構建一個maven專案,任務名稱隨便填寫
配置原始碼管理
首先點選新增→Jenkins
填寫git的登入使用者名稱和登入密碼,填完之後點選新增
Repository URL:git專案地址
Credentials:選擇剛剛新增的Jenkins
Branch Specifier (blank for ‘any’):選擇所要pull的git分支
構建觸發器
選擇GitHub hook trigger for GITScm polling即可,也可以設定定時任務
Build構建
Goals and options是指maven的清空和打包命令,-P是選擇對應的pom檔案配置的環境,不填就會選擇預設的
構建後操作
首先在選項卡中選擇Send build artifacts over SSH
下面配置SSH Publishers
Name:此項就是之前配置ssh連線資訊的名字
Source files:此項填寫傳到伺服器的檔案 一般是jar或war
Remove prefix:此項是指當把war/jar包傳到伺服器的時候去掉source files處填寫的war包之前的路徑,要是不去除的話會在tomcat的webapps建一個target資料夾,war包則在target資料夾下面
remove directory:此項是指遠端到伺服器的目錄 這個在這就不配置了 因為我們在系統設定處已經配置 這邊直接呼叫就可以
exec command:此項是指傳過去包之後執行的命令,這裡也可以呼叫指令碼,我這邊是直接執行的指令碼,下面會將指令碼放上
到此建立maven專案均已完成點選儲存即可
五、執行任務
- 進入首頁
進入首頁就會看見剛剛所建立的專案,點選右邊的按鈕就會執行,然後可以在左側檢視控制檯的輸出。
在控制檯裡面檢視日誌,如果最後出現SUCCESS則代表自動部署成功!!!
此時可以去到專案所在的tomcat檢視war包和執行狀態等等
執行指令碼
#! /bin/sh
echo '####################開始自動部署####################'
export JAVA_HOME=/usr/local/jdk1.8.0_201
tomcatPath=/root/test_tomcat #指定tomcat檔案目錄名稱
cd $tomcatPath/bin #進入tomcat的bin目錄
PID=$(ps -fu `whoami`|grep tomcat|grep -v grep|awk '{print $2}')
if [ -z "$PID" ];then
echo "no tomcat process"
else
./shutdown.sh #停止tomcat服務
fi
./startup.sh #啟動tomcat服務
echo '####################部署結束####################'
需要修改tomcat檔案目錄和jdk目錄
指令碼檔案儲存之後需要給此檔案賦予可執行的許可權!!
chmod +x xxx.sh
相關文章
- 前端使用docker+jenkins實現自動打包部署前端DockerJenkins
- 使用Jenkins實現前端自動化打包部署(Linux版本)Jenkins前端Linux
- iOS如何實現自動化打包iOS
- 使用 fastlane 實現自動化打包AST
- 使用GitHub Actions和GitHub pages實現前端專案的自動打包部署Github前端
- iOS--利用Fastlane實現自動化打包iOSAST
- iOS自動化打包部署踩坑記iOS
- 實現指令碼自動部署docker指令碼Docker
- Docker 搭建 Jenkins 實現自動部署DockerJenkins
- Python定時任務前端專案本地自動打包遠端部署指令碼實現Python前端指令碼
- [原] php + Laravel 實現部署自動化PHPLaravel
- 搭建jenkins配合gitee實現自動部署JenkinsGitee
- 利用Github Actions實現自動化部署Github
- Jenkins + Git + fastlane + 蒲公英實現自動化打包上傳JenkinsGitAST
- 使用 Fastlane 實現 iOS 跟 Android 自動打包指令碼ASTiOSAndroid指令碼
- 基於DotNetty實現自動釋出 - 實現一鍵打包釋出Netty
- GO 使用Webhook 實現github 自動化部署GoWebHookGithub
- jenkins + GitHub 實現專案自動化部署JenkinsGithub
- 使用 Jenkins + Ansible 實現自動化部署 NginxJenkinsNginx
- Vuepress + GitHub Actions 實現部落格自動部署!VueGithub
- Jenkins + GitLab + Xcode + Fir 實現iOS自動打包和分發JenkinsGitlabXCodeiOS
- 解放雙手 | Jenkins + gitlab + maven 自動打包部署專案JenkinsGitlabMaven
- Git 伺服器 利用 hook 實現自動部署Git伺服器Hook
- 手摸手,帶你實現程式碼自動部署
- 利用 webhook 實現 Git 自動部署 Laravel 程式碼WebHookGitLaravel
- aspcore+jenkins+iis+window實現自動化部署Jenkins
- 華納雲:如何實現tomcat自動化部署Tomcat
- 使用 Git 實現 專案的自動化部署Git
- 利用github提供的Webhooks實現自動化部署GithubWebHook
- 基於node實現Vue打包部署指令碼Vue指令碼
- 一鍵實現自動化部署(灰度釋出)實踐
- fastlane 自動化打包工具實踐AST
- 使用 Git 實現 Laravel 專案的自動化部署GitLaravel
- 利用 GitHub Actions 實現自動部署靜態部落格Github
- 使用GitHub的Webhooks實現程式碼的自動部署GithubWebHook
- GithubAction對接阿里雲ECS實現自動化部署Github阿里
- jenkins+gitlab + 蒲公英實現 android 應用自動化打包分發JenkinsGitlabAndroid
- NFV+SDN雲網聯動實現VNF全自動化部署