天天看點

Jenkins詳細安裝與建構部署使用教程

  Jenkins是一個開源軟體項目,旨在提供一個開放易用的軟體平台,使軟體的持續內建變成可能。Jenkins是基于Java開發的一種持續內建工具,用于監控持續重複的工作,功能包括:

1、持續的軟體版本釋出/測試項目。

2、監控外部調用執行的工作。

本文使用的Linux:Ubuntu

其中JDK、Tomcat、SVN伺服器請看這裡Ubuntu安裝配置JDK、Tomcat、SVN伺服器

一、安裝Jenkins

本文直接使用war包安裝

下載下傳位址:​​https://jenkins-ci.org/content/thank-you-downloading-windows-installer/​​

Jenkins詳細安裝與建構部署使用教程

war包有兩種安裝方法

方法一

下載下傳jenkins.war, 拷貝到D:\Java\Tool\jenkins()下,然後運作java -jar jenkins.war. (注意需要先安裝JDK,然後設定JAVA_HOME環境變量且将%JAVA_HOME%\bin加入到PATH環境變量中)

運作如下:

Jenkins詳細安裝與建構部署使用教程

通路http://localhost:8080 , jenkins的主界面如下:

Jenkins詳細安裝與建構部署使用教程

方法二

把Jenkins 1.409.1版解壓,把得到的war包直接扔到tomcat下,啟動tomcat,Jenkins就安裝完畢,通路http://localhost:8080 

二、建構一個Maven項目

1、建立一個job

Jenkins詳細安裝與建構部署使用教程

2、輸入名稱和項目類型

Jenkins詳細安裝與建構部署使用教程

3、設定編譯的版本号等資訊

Jenkins詳細安裝與建構部署使用教程

4、設定svn庫位址:

輸入項目托管的svn的位址,如果有出現要輸入賬号和密碼的地方,輸入即可。

Jenkins詳細安裝與建構部署使用教程

如果有出現如下說明使用者或密碼不對:

Jenkins詳細安裝與建構部署使用教程

點選進去重新設定使用者和密碼

5、配置jdk和maven

第一次打開出現如下,點選進去。要求提示設定JDK和Maven

Jenkins詳細安裝與建構部署使用教程

點選系統管理-》系統設定,找到JDK和Maven的設定位置

選擇本電腦的:

Jenkins詳細安裝與建構部署使用教程

9、到這裡已經可以構造這個項目了。

點選建構

Jenkins詳細安裝與建構部署使用教程

建構輸出的資訊:

Jenkins詳細安裝與建構部署使用教程

建構成功輸出如下 :

Jenkins詳細安裝與建構部署使用教程

10、驗證

這時它已經自動把這個項目打包了一個war包,預設打包到了C:\Users\linbingwen\.jenkins\workspace\JavaWeb\JavaWeb\target

Jenkins詳細安裝與建構部署使用教程

或者點選如下:

Jenkins詳細安裝與建構部署使用教程

三、自動遠端部署到tomcat

接下來要完成自動建構成war包後,将些war包上傳到遠端linux的tomcat的webapps目錄,更新項目的war包,并重新開機tomcat.

1、安裝插件

系統管理-》管理插件,在可選插件裡找到下面這個,然後點選直接安裝指令,安裝成功後要重新開機jenkins

Jenkins詳細安裝與建構部署使用教程

t筆者在安裝插件時報錯如下:

Jenkins詳細安裝與建構部署使用教程

這應該是天朝的牆所導緻的,是以筆者就使用了手動安裝的方式。

解決方法:

手動安裝

到https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin,下載下傳hpi到本地電腦到

Jenkins詳細安裝與建構部署使用教程

在系統管理--管理插件--進階--浏覽-上傳插件即可

Jenkins詳細安裝與建構部署使用教程

然後它自動上傳并安裝:

紅色的是筆者線上安裝不成功的,藍色的是筆者安裝成功的了,之後重新開機jenkis即可。

Jenkins詳細安裝與建構部署使用教程

2、配置ssh内容:

在系統管理-》系統設定裡

找到Publish over SSH

然後輸入:

Jenkins詳細安裝與建構部署使用教程

3、配置Post Steps

這裡還是接着上面的JavaWeb項目,這個配置得安裝了上面的插件後才會顯示!

Jenkins詳細安裝與建構部署使用教程

其中,

Transfer SetSource files:表示要上傳的本地的war包及路徑,可到工作空間去看

Remove prefix:表示要上傳時要去除的檔案夾,即隻上傳war包

remote driectory:即表示執行時的路徑,相當于把war包上傳到這裡了

exec commad:要執行的指令

要執行的腳本的内容:

[plain] view plain copy

#!/bin/sh  

#defined   

TOMCAT_HOME="/usr/java/tomcat/apache-tomcat-7.0.67/"  

ID=`ps -ef | grep java | grep tomcat|awk '{print $2}'`  

echo $ID   

echo "kill tomcat"  

kill -9 $ID  

echo "remover war file"  

cd "$TOMCAT_HOME"/webapps  

rm -rf JavaWeb-0.0.1-SNAPSHOT  

rm -rf JavaWeb-0.0.1-SNAPSHOT.war  

echo "copy war to webapp"  

cd /home/lin  

cp JavaWeb-0.0.1-SNAPSHOT.war "$TOMCAT_HOME"/webapps  

cd "$TOMCAT_HOME"/bin  

echo "start tomcat"  

./startup.sh  

步驟:

先停掉tomcat

删除webapp下對應的war包

複制war到webapps

重新開機tomcat

4、建構部署

點選項目的建構按鈕,最終出現如下:

Jenkins詳細安裝與建構部署使用教程

在linux上打開浏覽器,輸入http://localhost:8080/JavaWeb-0.0.1-SNAPSHOT/

Jenkins詳細安裝與建構部署使用教程

注意:這裡配置的ssh使用者:lin要有root的權限,要不可以會報錯沒有權限執行kill 或rm 指令

本文使用的Linux:Ubuntu14.04