阿里雲 jenkins svn maven 構建自動化部署
第一步:下載 jdk 、tomcat、jenkins、maven
jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html
maven:http://maven.apache.org/download.cgi
jenkins:https://jenkins.io/download/
tomcat:http://tomcat.apache.org/
我下載的版本是 jdk1.8.0_161,Tomcat 8.0.51,maven、jenkins 就直接下最新版就好了 (好像 jenkins 只支援tomcat8 )
下載完成之後上傳到你的阿里雲伺服器上,我下載的型別都是 tar.gz
安裝maven
將maven安裝包解壓到 /usr/local 目錄下
# tar -zxvf apache-maven-3.5.0-bin.tar.gz -C /usr/local
進入maven目錄下的 /conf 目錄,修改setting.xml檔案的mirrors配置國內倉庫。
<mirror> <id>nexus-osc</id> <mirrorOf>*</mirrorOf> <name>Nexus osc</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror>
(3)在 /etc/profile 中新增環境變數配置
export MAVEN_HOME=/usr/local/apache-maven-3.5.0
export PATH=${PATH}:${MAVEN_HOME}/bin
接下來安裝jdk (建議jdk 別用yum 安裝,否則他不會配置 環境變數,我們在安裝svn的時候還需要自己手動在配一下)
mkdir /usr/java
tar -xzvf jdk-8u161-linux-x64.tar.gz -C /usr/java/
然後配置jdk環境變數
vim /etc/profile
最後一行新增
#java
JAVA_HOME=/usr/java/jdk1.8.0_161 #你jdk所在的目錄
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
然後安裝ESC鍵 輸入 回車儲存
:wq
檢視jdk是否安裝成功
java -version
會出現以下資訊
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
接下來安裝svn
-
執行以下命令安裝SVN。
yum install subversion
-
執行以下命令檢視SVN版本。
svnserve --version
-
按以下步驟建立版本庫:
- 執行以下命令建立目錄。
mkdir /var/svn
- 依次執行以下命令建立版本庫。
cd /var/svn
svnadmin create /var/svn/svnrepos
- 依次執行以下命令檢視自動生成的版本庫檔案。
cd svnrepos
ls
- 執行命令
cd conf/
進入conf目錄(該SVN版本庫配置檔案)。返回結果如下:- authz:是許可權控制檔案。
- passwd:是賬號密碼檔案。
- svnserve.conf:SVN服務配置檔案。
- 按以下步驟設定賬號密碼:
- 執行
vi passwd
。 - 按
i
鍵進入編輯模式。 - 在
[users]
塊中新增使用者賬號和密碼,格式:賬號=密碼,比如示例中的suzhan = redhat(注意等號兩端要有一個空格)。 - 按
Esc
鍵退出編輯模式,並輸入:wq
儲存並退出。
- 執行
- 按以下步驟設定許可權:
- 執行
vi authz
。 - 按
i
鍵進入編輯模式。 - 在末尾新增如下程式碼(其中,r表示讀,w表示寫):
[/]
suzhan=rw
- 按
Esc
鍵退出編輯模式,並輸入:wq
儲存並退出。
- 執行
- 按以下步驟修改svnserve.conf檔案。
- 執行命令
vi svnserve.conf
。 - 按
i
鍵進入編輯模式。 - 開啟以下幾個註釋(注意每行不能以空格開始,等號兩端要有一個空格):
anon-access = read #匿名使用者可讀,您也可以設定 anon-access = none,不允許匿名使用者訪問。設定為 none,可以使日誌日期正常顯示
auth-access = write #授權使用者可寫
password-db = passwd #使用哪個檔案作為賬號檔案
authz-db = authz #使用哪個檔案作為許可權檔案
realm = /var/svn/svnrepos #認證空間名,版本庫所在目錄
- 按
Esc
鍵退出編輯模式,並輸入:wq
儲存並退出。
- 執行命令
- 執行以下命令啟動SVN版本庫。
svnserve -d -r /var/svn/svnrepos
- 執行命令
ps -ef |grep svn
檢視SVN服務是否開啟。
如果返回結果如下圖所示,表示SVN服務已經開啟。
- 執行以下命令建立目錄。
注意:
執行以下命令停止SVN命令。
killall svnserve
新增安全組規則
SVN服務的預設埠為TCP 3690。您需要登入 ECS管理控制檯,新增安全組規則 放行TCP 3690埠。
在Windows上測試
這部分說明如何從本地(Windows作業系統)訪問ECS例項上安裝的SVN服務。
-
在本地機器上安裝 TortoiseSVN客戶端。
-
在您的本地專案資料夾(如示例中的C:\KDR),右鍵空白處彈出選單,選擇 SVN檢出。
-
指定資源庫URL,格式為
svn://例項公網IP地址/資源庫名
;指定 檢出至目錄(如本示例中的C:\KDR);再單擊 確定。如果出現以圖所示資訊,表示檢出成功。
接下來安裝tomcat,回到之前apache-tomcat-8.5.29.tar.gz 所在目錄執行以下命令
tar -xzvf apache-tomcat-8.5.29.tar.gz -C /usr/local/
然後啟動tomcat
/usr/local/apache-tomcat-8.5.29/bin/startup.sh
http://ip:8080/ 進行訪問
注意 埠需要到你伺服器控制檯 安全組新增
接下來就是安裝 jenkins
回到之前jenkins 上傳的目錄,拷貝jenkins 到你的tomcat webapps目錄下
cp jenkins.war /usr/local/tomcat7/webapps/
重啟tomcat 訪問 jenkins
http://ip:8080/jenkins
啟動時間會有點長 ,登陸會讓你輸入密碼,密碼在哪裡網頁上有說明
然後輸入密碼後 讓你選擇外掛 我選的是推薦安裝的外掛,安裝完成後會少了maven外掛,需要安裝一個,不然在新建任務的時候沒有 maven選項
選擇可選外掛,輸入 Maven Integration plugin ,因為我安裝過了所以找不到,你們搜尋到了就之間點安裝
這一步好了 接下來配置jdk 和 maven 路徑
1.進入全域性工具配置
去掉自動安裝,填寫路徑
接下來新建任務
選擇丟棄構建
配置svn
注意如果不知道怎麼建立 maven 專案 看這個教程 https://blog.csdn.net/wx5040257/article/details/77388086?locationNum=7&fps=1
配置 構建觸發器,我配置的是 ,只要我提交程式碼 2分鐘後幫我構建一次 ,poll scm 不知道配置去百度很多教程
好了下面最重要的一步來了 我是參考 https://blog.csdn.net/jesonjoke/article/details/77861888 這位大神寫的
說明一下,我有兩個tomcat 一個tomcat 放jenkins 一個放專案
以下指令碼的tomcat名字 是我放專案的tomcat,你們別把自己 jenkins 所在的tomcat名字寫在裡面
cd /usr/local/apache-tomcat-8.5.32/webapps/ #進入webapps
rm -rf capital* #刪除之前的專案
port=`netstat -nlp | grep -w 8005 | sed -r 's#.* (.*)/.*#\1#'`
if [ -n "$port" ]; then
kill -9 $port
fi
tomcat=`ps -ef|grep apache-tomcat-8.5.32 | grep -v 'grep\|tail' | awk '{print $2}'`
if [ -n "$tomcat" ]; then
kill -9 $tomcat
fi
cd /root/.jenkins/jobs/capital/workspace/target/ #進入jenkins 打war包的路徑
cp capital.war /usr/local/apache-tomcat-8.5.32/webapps/ #拷貝專案到tomcat webapps
export BUILD_ID=capitalId #這句話必須加 不然我tomcat 啟動不了,我也不知道原因,id是隨便取得
sh /usr/local/apache-tomcat-8.5.32/bin/startup.sh 啟動tomcat
好了jenkins 配置到此就結束了,你們可以立即構建試試
對了還要注意的是 你在構建之前 tomcat7 也就是專案所在的tomcat 一定要先啟動 不然 指令碼呢第一步kill tomcat 會報錯的。