linux下部署項目

Linux CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

(2015-12-20 19:17:03)

CentOS7svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈html

 

by:授客 QQ1033553122java

目錄linux

1、    實踐環境web

2、    安裝SVN(若是沒的話)apache

3、    安裝javabootstrap

4、    安裝Apache Tomcatvim

5、    安裝mavencentos

6、    安裝jenkinstomcat

7、    Jenkins基本設置安全

1)系統管理-系統設置

2)系統管理-安全設置

3)系統管理-插件管理

8、    自動構建任務與自動部署

 

1、實踐環境

CentOS 7操做系統(CentOS-7-x86_64-DVD-1503-01.iso)

下載地址:http://ftp.riken.jp/Linux/centos/7/isos/x86_64/

 

 

下載地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

Apache Tomcat(apache-tomcat-9.0.0.M1.tar.gz)

下載地址:http://tomcat.apache.org/download-90.cgi

 

maven(apache-maven-3.3.9-bin.tar.gz)

下載地址:http://maven.apache.org/download.cgi

 

jenkins(jenkins.war)

下載地址:https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins

 

Deploy to container Plugin(deploy-1.0.phi)

下載地址:https://updates.jenkins-ci.org/download/plugins/deploy/

 

以上軟件包集合下載地址:http://pan.baidu.com/s/1c1xnUfu

 

 

2、安裝SVN(若是沒的話)

參考文章:CentOS7 下配置svn的安裝及基礎配置介紹

 

3、安裝java

[root@localhost tmp]# mkdir -p /usr/local/java

[root@localhost tmp]# mv jdk-8u65-linux-x64.tar.gz /usr/local/java

[root@localhost tmp]#cd /usr/local/java/

[root@localhost java]#tar -xvzf jdk-8u65-linux-x64.tar.gz

……

[root@localhost java]# rm -rf jdk-8u65-linux-x64.tar.gz

 

環境變量配置

[root@localhost java]# vim /etc/profile

添加以下內容:

#added by shouke

export JAVA_HOME=/usr/local/java/jdk1.8.0_65

export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre

CLASSPATH=.:$JAVA_HOME/lib/dr.jar:$JAVA_HOME/lib/tools.jar:

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

 Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

[root@localhost bin]# source /etc/profile

 

查看是否安裝成功

[root@localhost java]# java -version

java version "1.8.0_65"

SE Runtime Environment (build 1.8.0_65-b17)

Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

[root@localhost java]#javac -version

javac 1.8.0_65

 

參考鏈接:

http://docs.oracle.com/javase/8/docs/technotes/guides/install/linux_jdk.html#BJFJJEFG

 

4、安裝Apache Tomcat

[root@localhost tmp]#tar -xvzf apache-tomcat-9.0.0.M1.tar.gz

……

[root@localhost tmp]# mkdir -p /usr/local/apache-tomcat

[root@localhost tmp]# mv apache-tomcat-9.0.0.M1 /usr/local/apache-tomcat/

環境變量配置:

[root@localhost java]# vim /etc/profile

……

#added by shouke

export JAVA_HOME=/usr/local/java/jdk1.8.0_65

export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre

export CATALINA_BASE=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

export CATALINA_HOME=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

CLASSPATH=.:$JAVA_HOME/lib/dr.jar:$JAVA_HOME/lib/tools.jar:

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_BASE:$CATALINA_HOME

[root@localhost bin]# source /etc/profile

 

設置管理員賬號密碼

[root@localhost apache-tomcat-9.0.0.M1]# ls

bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work

[root@localhost apache-tomcat-9.0.0.M1]# cd conf/

[root@localhost conf]# vim tomcat-users.xml

找到以下內容

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

在其下新增用戶和角色

問題:怎麼知道角色是啥角色呢? 以下,點擊對應按鈕,點擊取消,

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

以下,它會告訴你怎麼作的

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

可根據實際狀況設置,修改後的文件配置以下

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

說明:admin用戶能夠訪問Server Status,Manager App, Host Manager

, hostadmin只可訪問Host Manager

 

啓動Apache Tomcat

[root@localhost tmp]# cd /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/

[root@localhost apache-tomcat-9.0.0.M1]# cd bin

[root@localhost bin]# sh startup.sh

Using CATALINA_BASE:   /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

Using CATALINA_HOME:   /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

Using CATALINA_TMPDIR: /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/temp

Using JRE_HOME:        /usr/local/java/jdk1.8.0_65/jre

Using CLASSPATH:       /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/bootstrap.jar:/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/tomcat-juli.jar

Tomcat started.

[root@localhost bin]#

 

防火牆開放默認的8080端口

[root@localhost bin]#firewall-cmd --permanent --zone=public --add-port=8080/tcp

success

[root@localhost bin]#firewall-cmd --reload

 

訪問測試

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

 

5、安裝maven

[root@localhost tmp]# mkdir -p /usr/local/maven

[root@localhost tmp]# tar -xvzf  apache-maven-3.3.9-bin.tar.gz

……

[root@localhost tmp]# mv apache-maven-3.3.9 /usr/local/maven/

 

環境變量設置

[root@localhost tmp]#vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8.0_65

export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre

export CATALINA_BASE=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

export CATALINA_HOME=/usr/local/apache-tomcat/apache-tomcat-9.0.0.M1

export MAVEN_HOME=/usr/local/maven/apache-maven-3.3.9

CLASSPATH=.:$JAVA_HOME/lib/dr.jar:$JAVA_HOME/lib/tools.jar:

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_BASE:$CATALINA_HOME:$MAVEN_HOME/bin

[root@localhost tmp]# source /etc/profile

 

查看是否安裝成功

[root@localhost tmp]# mvn -v

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)

Maven home: /usr/local/maven/apache-maven-3.3.9

Java version: 1.8.0_65, vendor: Oracle Corporation

Java home: /usr/local/java/jdk1.8.0_65/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "linux", version: "3.10.0-229.el7.x86_64", arch: "amd64", family: "unix"

 

參考鏈接:http://maven.apache.org/install.html

 

6、安裝jenkins

[root@localhost tmp]# ls

jenkins.war

[root@localhost tmp]# cp jenkins.war  /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/webapps/

 

重啓apache tomcat服務器

[root@localhost bin]# sh /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/shutdown.sh

[root@localhost bin]# sh sh /usr/local/apache-tomcat/apache-tomcat-9.0.0.M1/bin/startup.sh

 

 

訪問jenkins

 

 Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

7、Jenkins基本設置

1)系統管理-系統設置

 

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

2)系統管理-安全設置

 


Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

提交後以下

 

 Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈



註冊並登錄

 

 

3)系統管理-插件管理

1)Deploy to container Plugin

安裝方法一、在線安裝

系統管理->管理插件->可選插件->過濾,輸入Deploy to container Plugin,

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

缺點:可能沒法下載,GFW太強大了

 

安裝方法二、本地安裝

下載插件,插件集合下載地址:

https://updates.jenkins-ci.org/download/plugins

 

Deploy to container Plugin下載地址:

https://updates.jenkins-ci.org/download/plugins/deploy/

 

系統管理->管理插件->高級->上傳插件->瀏覽,打開.phi插件->上傳

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈



 

查看是否安裝成功

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

8、自動構建任務與自動部署

點擊 【新建】、【建立一個新任務】(從未建立過任務的狀況)

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

如上圖,填寫好item名稱,點擊【OK】

 

代碼結構以下:

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

選擇Subversion,填寫版本庫代碼url

 

如上,提示No credential,點擊 enter credential,打開以下界面

 
Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

如上,填寫代碼庫所在url及用戶名稱和密碼,點擊【OK】提交

 

返回到剛纔的頁面,刷新,從新填寫,結果以下

 

 Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈



構建觸發器

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈




 

說明:

1)Poll SCM:定時檢查源碼變動(根據SCM軟件的版本號),若是有更新就checkout最新code下來,而後執行構建動做。

2)Build periodically:按給定週期,定時構建(它無論源碼是否發生變化)

示例:

*/60 * * * *  (意爲每60分鐘檢查一次源碼變化)

0 2 * * *  (天天2:00 執行一次構建)

這裏和linux crontab文件配置是一致的。

 

參考鏈接:

http://www.scmgalaxy.com/scm/setting-up-the-cron-jobs-in-jenkins-using-build-periodically-scheduling-the-jenins-job.html

 

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

 [root@localhost workspace]# pwd

/root/.jenkins/jobs/test_project1/workspace

[root@localhost workspace]# ll

total 56

-rw-r-----. 1 root root 16629 Dec 20 17:21 pom.xml

-rw-r-----. 1 root root  3235 Dec 20 17:21 readme.txt

drwxr-x---. 2 root root  4096 Dec 20 17:21 review

drwxr-x---. 4 root root  4096 Dec 20 17:21 src

drwxr-x---. 8 root root  4096 Dec 20 17:21 target

-rw-r-----. 1 root root 16664 Dec 20 17:21 版本變動記錄.txt

 

注意:這裏的pom設置是有講究的,參考鏈接:

http://my.oschina.net/u/260244/blog/318755#OSC_h3_16

 

如上,Post steps,選擇僅build成功時才運行Post Steps

 

 Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

 

如上,點擊【增長構建後操做步驟】,選擇Deploy war/ear to a container,設置遠程發佈項目

 

 

 

說明:

1) 構建時會在目錄:/root/.jenkins/jobs/item_name/workspace/target下生成filename.war文件,本例中爲:

/root/.jenkins/jobs/test_project1/workspace/target/appServer.war

2) WAR/EAR files:填寫.war、.ear文件所在的相對路徑

3) Context Path:填寫要發佈至遠程服務器的位置,一般是tomcat的webapps

4) 一般不勾選【Deploy on failure】,即構建失敗則不發佈

5) 這裏也能夠用Publish over SSH來實現遠程發佈,參考鏈接:

http://jdkleo.iteye.com/blog/2159844

 Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

如上,點擊 Add Contianer,能夠選擇容器類型,這裏選擇Tomcat 7.x,而後填寫入Tomcat 管理員(具備manager-gui角色的tomcat用戶),密碼,Tomcat鏈接

 

最後提交,以下

 

 Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

以下,點擊右側按鈕,開始第一次構建

 

 Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

點擊鏈接查看Console Output

Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

 

 

以下,第一次會根據pom.xml下載相關文件

 

 Linux <wbr>CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈

 

附pdf版本下載:

CentOS7下svn+tomcat9.0+maven3.3+jenkins實現web項目自動構建與遠程發佈.pdf

相關文章
相關標籤/搜索