1. Maven安裝java
下載maven安裝包,放置在usr/maven目錄下:apache-maven-3.2.5-bin.tar.gzweb
tar zxvf apache-maven-3.2.5-bin.tar.gzapache
生成目錄瀏覽器
配置環境變量:tomcat
Vi /etc/profile安全
增長:網絡
MAVEN_HOME=/usr/maven/apache-maven-3.2.5app
PATH=$PATH:$MAVEN_HOME/binssh
export PATH MAVEN_HOMEwebapp
保存:esc :wq 回車
執行 source /etc/profile 刷新環境變量配置,便可生效
mvn -v 查看maven版本
2. Ant安裝
下載ant安裝包,放置在usr/ant目錄下:apache-ant-1.9.7-bin.tar.gz
tar zxvf apache-ant-1.9.7-bin.tar.gz
生成目錄:apache-ant-1.9.7
配置環境變量:
Vi /etc/profile
增長:
ANT_HOME=/usr/ant/apache-ant-1.9.7
PATH=$PATH:$ANT_HOME/bin
export PATH ANT_HOME
保存:esc :wq 回車
執行 source /etc/profile 刷新環境變量配置,便可生效
ant -version 查看ant版本
3. jenkins安裝
下載jenkins的war包:http://mirrors.jenkins-ci.org/war/latest/jenkins.war
將war包放至節點webapps目錄下
再回到節點bin目錄
啓動web服務:./startup.sh
假設該節點的http端口是8080
則在瀏覽器上:http://ip:8080/jenkins/
注:若打不開
停tomcat:./shutdown.sh
查看端口是否被佔用:lsof -i:8080
若佔用,kill -9 pid
重啓tomcat:./startup.sh
4. Jenkins配置
4.1 系統管理
在已運行的Jenkins主頁中,點擊左側的【系統管理】進入以下界面:
4.1.1 提示信息
Ps:版本不一樣提示的消息有可能不一樣
4.1.1.1 Utf-8編碼
Jenkins建議在tomcat中使用utf-8編碼,配置tomcat下conf目錄的server.xml文件
Ps:若是Job的控制檯中文輸出亂碼,請將URIEncoding=」utf-8」更改成useBodyEncodingForURI="true"
4.1.1.2 新的版本
提示有新的版本能夠下載了,喜歡更新的點擊download去下載吧!
4.1.1.3 安全設置
Jenkins容許網絡上的任何人表明您啓動進程。考慮至少啓用身份驗證來阻止濫用。點擊Dismiss忽略該消息,點擊Setup Security進入設置界面.
設置如上圖,保存後系統管理中就出現管理用戶的選項。頁面右上角也會出現登陸/註冊的選項。
右上角點擊註冊,
註冊完成後爲登陸狀態
4.1.2管理插件
4.1.2.1 Deploy to container plugin
(經過該方式部署時,安裝該插件)
在已運行的Jenkins主頁中,點擊左側的系統管理—>管理插件
在可選插件中安裝Deploy to container plugin,這個插件將生成的構件(war或者ear)部署到容器中。
或者在高級選項卡中本身下載上傳所需的插件:
4.1.2.2 Publish Over SSH
經過SSH遠程部署時安裝該插件
系統管理→管理插件→可選插件→Artifact Uploaders→Publish Over SSH,安裝完成後,重啓jenkins
4.1.2系統設置
在已運行的Jenkins主頁中,點擊左側的系統管理—>系統設置,進入以下界面:
3.1.2.1 JDK、Maven、Ant配置
配置一個JDK、Ant、Maven實例,在每一節下面單擊Add(新增) 按鈕,添加實例的名稱和絕對地址。
JDK別名:隨便填
JAVA_HOME:本機JDK的安裝路徑(錯誤的路徑會有紅字提示你的)
自動安裝:不推薦這個選項
Ant與Maven的配置也是相似的
3.1.2.2 Jenkins Location
填寫Jenkins URL,若要配置郵件通知,輸入管理員郵件地址
3.1.2.3 Subversion
選擇SVN版本
3.1.2.4 郵件通知
配置郵件通知:
可發送測試郵件測試是否配置成功。
3.1.2.5 Publish over SSH
經過SSH遠程部署時配置該項
公共配置:
Passphrase:密碼(key的密碼)
Path to key:key文件(私鑰)的路徑
Key:將私鑰複製到這個框中
Disable exec:禁止運行命令
私有配置:
SSH Server Name:標識的名字(隨便取)
Hostname:須要鏈接ssh的主機名或ip地址(建議ip)
Username:用戶名
Remote Directory:遠程目錄
Use password authentication, or use a different key:能夠替換公共配置(選中展開的就是公共配置的東西,這樣作擴展性很好)
私有配置的高級:
Port:端口(默認22)
Timeout (ms):超時時間(毫秒)默認便可
Disable exec:禁止運行命令
Test Configuration:測試鏈接
其餘配置可按默認配置。
保存!
4.2 項目配置
4.2.1 新建項目
以構建一個maven項目爲例:
4.2.2 配置
4.2.2.1 源碼管理
本項目使用SVN管理源代碼,填寫 Repos URL
若沒有權限,點擊 enter credential ,輸入用戶名、密碼登陸
Ps:svn的用戶名和密碼設置了是沒有辦法在web界面修改的。若是要修改則先去Jenkins目錄刪除hudson.scm.SubversionSCM.xml文件(點到爲止)
4.2.2.2 構建觸發器
Build other projects are built:指定的項目完成構建後,觸發此項目的構建。
Build periodically :此選項僅僅通知Jenkins按指定的頻率對項目進行構建,而無論SCM是否有變化。若是想在這個Job中運行一些測試用例的話,它就頗有幫助。
Poll SCM :這是CI 系統中常見的選項。當您選擇此選項,您能夠指定一個定時做業表達式來定義Jenkins每隔多久檢查一下您源代碼倉庫的變化。若是發現變化,就執行一次構建。例如,表達式中填寫0,15,30,45 * * * *將使Jenkins每隔15分鐘就檢查一次您源碼倉庫的變化。
4.2.2.3 maven構建設置
Root POM:填寫你項目的pom.xml文件的位置,注意:是相對位置,若是該文件不存在,會有紅色字提示。
Goals and options :clean install -Dmaven.test.skip=true 或
clean package -Dmaven.test.skip=true #加入了跳過測試的代碼
4.2.2.4 構建後操做
4.2.2.4.1 War文件部署設置
若使用deploy plugin插件部署,首先必須安裝好Deploy Plugin插件。
其次webapps目錄下必須有manager文件夾。
而後,在tomcat的conf目錄配置tomcat-users.xml文件,在<tomcat-users>節點裏添加以下內容:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="username" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
引號裏的username和password能夠隨便設置。
回到Jenkins項目配置頁面
4.2.2.4.1 遠程部署配置
(1)構建後操做選擇:deploy war/ear to a container
WAR/EAR files:war文件的存放位置,如:target/test.war ,注意:相對路徑,target前是沒有/的。
Context path:訪問時須要輸入的內容,如test訪問時以下:http://192.168.x.x:8080/test/,若是爲空,默認是war包的名字。
Container:選擇你的web容器,如tomca 7.x
Manager user name:填入tomcat-users.xml配置的username內容
Manager password:填入tomcat-users.xml配置的password內容
Tomcat URL:填入http://192.168.X.X:8080
Deploy on failure:構建失敗依然部署
注意:雖然這種部署方法可能會致使tomcat加載時出現卡死的現象。可是也是最簡單的部署方式。若是卡死了重啓下就行了,將tomcat的java內存參數調高能夠解決這個問題。
最後,點擊保存!!
到此一個項目的獲取源碼,打包,遠程部署,郵件通知就完成了。
(2)構建後操做選擇:Send build artifacts over SSH
SSH Server
Name:選擇一個在系統設置裏配置的名字
Transfer Set
Source files:須要上傳的文件(注意:相對於工做區的路徑。看後面的配置能夠填寫多個,默認用,分隔)。如:target/ebop-server-0.0.1-SNAPSHOT.war
Remove prefix:移除目錄(只能指定Transfer Set Source files中的目錄)。如:target
Remote directory:遠程目錄(根據你的需求填寫吧,由於我這兒是測試,因此偷懶沒有填寫。默認會繼承系統配置)。如://usr/tomcat/tomcat-server
Exec command:把你要執行的命令寫在裏面。如:
cd /usr/tomcat/tomcat-server
bin/startup.sh
ps -ef | grep tomcat-server | grep -v grep | cut -c 9-15 | xargs kill -9
rm -rf webapps/ebop-server-0.0.1-SNAPSHOT.war
rm -rf webapps/ebop-server-0.0.1-SNAPSHOT
mv ./ebop-server-0.0.1-SNAPSHOT.war ./webapps/ebop-server.war
cd bin
./startup.sh
Ps:
ps -ef | grep tomcat-server | grep -v grep | cut -c 9-15 | xargs kill -9
說明:
「grep tomcat-server」的輸出結果是,全部含有關鍵字「tomcat-server」的進程。
「grep -v grep」是在列出的進程中去除含有關鍵字「grep」的進程。
「cut -c 9-15」是截取輸入行的第9個字符到第15個字符,而這正好是進程號PID。
「xargs kill -9」中的xargs命令是用來把前面命令的輸出結果(PID)做爲「kill -9」命令的參數,並執行該命令。「kill -9」會強行殺掉指定進程