日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux下搭建jenkins+svn+http+maven自动化部署

發布時間:2025/4/9 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下搭建jenkins+svn+http+maven自动化部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??????Linux下搭建jenkins+svn+http+maven自動化部署

服務器設置:

卸載redhatyum,安裝centosyum,配置第三方yum

1.刪除redhat原有的rpm -qa |grep yum |xargs rpm -e yum --nodeps

2.下載yum安裝文件,如果下載時找不到文件,http://mirrors.163.com/centos/6/os/x86_64/

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.27-14.el6.centos.noarch.rpm

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm

wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm

3.進行安裝yum

rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm --nodeps

rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm --nodeps

rpm -ivh yum-3.2.29-73.el6.centos.noarch.rpm --nodeps

rpm -ivh yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm --nodeps

4.下載第三方yum源,這里是網易wget http://mirrors.163.com/.help/CentOS6-Base-163.repo?

下載到/etc/yum.repos.d/

5.注意事項:

(1)如果你的baseurl不能訪問則會出現

(2)http://mirrors.163.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found” 說明baseurl有問題。將下載后的repo文件中所baseurl=http://mirrors.163.com/centos/releasever/os/basearch/中的所有$releasever改成6

(注意:這里改成“6”,是指redhat版本號是6.0的)?

(3)機器要能聯網,ping www.baidu.com試下

(4)執行命令 yum clean all

yum ?install httpd ?安裝成功則證明yum源成功

?

?

?

(1)下載erel源當作yum源來使用

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm?

yum ?makecache

yum ?clean all

?

(2)下載lrzsz軟件包

Wget ftp://195.220.108.108/linux/centos/5.11/os/x86_64/CentOS/lrzsz-0.12.20-22.1.x86_64.rpm

將要用到的軟件包用rz”傳輸到服務器上

?

?

1.搭建svn+http

Svn分為兩種方式訪問(1)借助于apache

???????????????????2svn獨立服務器

這里,我們借助于apache來實現svn訪問

?

1.首先,我們來安裝svn apache軟件包

yum ??install ?httpd ??httpd-devel ??subversion ?mod_dav_svn

?

?

***mod_dav_svn**//SubversionApache之間的接口(通過它,Apache就可以訪問版本庫,可以讓客戶端也使用HTTP的擴展協議 WebDAV/DeltaV進行訪問)

?

驗證 svn模塊(mod_dav_svn)是否正確安裝
ls /etc/httpd/modules | grep svn
系統提示:
mod_authz_svn.so
mod_dav_svn.so

驗證安裝:
svn --version
顯示如下表明正確安裝

svn,版本 1.4.2(r22196)
?? 編譯于 Aug 10 200918:00:04

Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet(http://www.Collab.Net/).

2.創建SVN庫和項目

mkdir ????/home/svn ???????/創建svn

svnadmin create ?/home/svn/project ???????//創建svn項目

3.添加組及組員權限

groupadd ?svn ?????//創建一個叫subversion的組為擁有倉庫所在的目錄
usermod -G svn ?-a apache?? ??//將自己和Apache 用戶加入組成員中


查看:more /etc/group | grep svn
系統提示:svn:x:500:apache


4.修改項目權限

chgrp ?-R ??svn ?/home/svn/project
chmod ???-R ??777 ??/home/svn/project

這里根據自己的安全需求配置相應的權限,因我這里是測試環境,所以給的是777權限

5.配置httpd

vim ??/etc/httpd/conf/httpd.cof

查看有沒有LoadModuledav_svn_module modules/mod_dav_svn.so這一行,如果沒有就添加上為了使客戶端能夠通過Apache來訪問SVN檔案庫,Apache需要加載 mod_dav_svn模塊。如果Apache是按照與預設目 錄安裝的,mod_dav_svn 模塊應該會安裝在 Apache 安裝位置 (默認路徑是 /etc/httpd/) modules 子目錄內。同時在Apache的配置文件httpd.conf(默認路徑為etc/httpd/conf/)中已經使用 LoadModule指令加載了該模塊(如果沒有,手動添加)注意這個指令必須出現在其它的Subversion 相關指令之前。還要加載mod_authz_svn.so模塊


例如:?
LoadModule ?dav_svn_module??modules/mod_dav_svn.so
LoadModule ?authz_svn_module ?modules/mod_authz_svn.so

一般來時http都已經正常加載了這兩個模塊

啟動apache

/etc/init.d/httpd ?start

配置防火墻

iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT /*允許所有IP訪問80端口*/

iptables-save > /etc/sysconfig/iptables /*保存配置或者使用命令 service iptables save?*/

?

打開瀏覽器查看是否能夠訪問到apache的頁面(注意:如果開了防火墻一定要開放80端口)

http://ip地址?

?

6.配置SVN

編輯subversion.conf配置文件

svnserve.conf 文件, 該文件配置項分為以下5項:
?????? anon-access: 控制非鑒權用戶訪問版本庫的權限。
?????? auth-access: 控制鑒權用戶訪問版本庫的權限。
?????? password-db: 指定用戶名口令文件名。
?????? authz-db:指定權限配置文件名,通過該文件可以實現以路徑為基礎的訪問控制。
?????? realm:指定版本庫的認證域,即在登錄時提示的認證域名稱。若兩個版本庫的認證域相同,建議使用相同的用戶名口令數據文件

?
vim /etc/httpd/conf.d/subversion.conf
按以下代碼更改(栗紅為修改的代碼):
LoadModule ?dav_svn_module ?modules/mod_dav_svn.so
LoadModule ?authz_svn_module ?modules/mod_authz_svn.so
?
<Location /svn>
DAV svn
SVNPath ??/home/svn/projcet ?????---指定SVN路徑
#
#?? # Limit write permission to list of valid users.
#?? <LimitExcept GET PROPFIND OPTIONS REPORT>
#????? # Require SSL connection for passwordprotection.
#????? # SSLRequireSSL
#
AuthType ?Basic
AuthName??"Authorization Realm"
AuthUserFile ?/home/svn/projcet/conf/passwd ???---svn用戶路徑

Require valid-user
#?? </LimitExcept>
</Location>
七步:建立用戶

#cd ?/home/svn/projcet/conf/ ???---進入到svn目錄

htpasswd ??-c ??passwd ?username ??---創建svn用戶密碼

Apache ?htpasswd參數說明

-c 創建一個加密文件

-n ?不更新加密文件

-p ?不對密碼進行加密,即明文密碼

-D ?刪除指定用戶

-b ?命令行中一并輸入用戶名與密碼而不是根據提示輸入密碼

注意:借助于apache服務的SVN如果要創建多個用戶與密碼的話,具體操作如下

htpasswd ??passwd ??username ??????--創建用戶名

密碼直接在authz里加入你所添加用戶的權限即可

?

?

Vim ?/home/svn/projcet/conf/authz

test ?= rw

通過http訪問的賬號是Apache http驗證的。

通過svn://訪問的賬號是svn倉庫conf目錄下passwd指定的

兩個是獨立的認證方式。

?

重啟apache????????????????????????????????????
通過web頁面訪問,彈出用戶登錄驗證,訪問成功 (注意開放防火墻的3690端口)

?

客戶端連接SVN服務端時報錯

1[Thu Mar 30 09:41:42 2017] [error] [client 172.19.63.36] (13)Permission denied: Could not open password file: /home/svn/project/conf/authz

[Thu Mar 30 09:41:42 2017] [error] [client 172.19.63.36] access to /svn failed, reason: verification of user id 'admin' not configured

解決方法如下:

關掉selinux,不過關閉之后影響服務器安全性

?

(2)[error] [client 172.19.63.36] Access denied: 'admin' GET svn:/

解決方法:這里主要是svn下的authz問題

?vim /home/svn/project/conf/authz

[groups]

admin = admin

[/]

*=r

@admin=rw

[test:/]

* =rw

@admin=rw

接下來輸入http://ip地址/svn就可以訪問svn服務端了

?

?

Linux下搭建jenkins

1.Jenkins 下載

Jenkins 下載網址: Download Jenkins

Jenkins 最新版本: jenkins_1.514_all.debUbuntu/Debian), 或 jenkins.warwar包)

2.jenkins安裝

(1)jenkins安裝前,先安裝tomcat

軟件:apache-tomcat-7.0.29.tar.gz
下載地址:http://tomcat.apache.org/

系統環境redhat

[解壓jdk]

安裝jdk之前先查看

[root@localhost etc]# rpm -qa | grep java

如果有javaopenjdk的安裝包那么卸載掉

解壓jdk

tar ?xf ?jdk-7u65-linux-x64.tar.gz ?-C ?/usr/java/

配置環境變量

?vim ?/etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_65

export PATH=$JAVA_HOME/bin:$PATH

Export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

執行source profile(在/etc/文件夾下)快速生效

測試

輸入java測試

輸入java -version測試

[root@localhost etc]# javac -version

javac 1.7.0_65

[root@localhost etc]# java -version

java version "1.7.0_65"

Java(TM) SE Runtime Environment (build 1.7.0_65-b17)

Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

?

tomcat安裝步驟:

1、下載 Tomcat

下載?apache-tomcat-7.0.29.tar.gz官方網址

2、解壓 Tomcat

解壓?apache-tomcat-7.0.29.tar.gz

tar -zxvf?apache-tomcat-7.0.29.tar.gz???-C ??/usr/java/

?

安裝,下載jenkins.war

?mv???jenkins.war ?/usr/java/apache-tomcat-7.0.54/webapps/

?cd ?/usr/java/apache-tomcat-7.0.54/bin

./startup.sh ????????????---啟動tomcat

tail ?-f ?/usr/java/apache-tomcat-7.0.54/logs/catalina.out ????---查看日志

netstat -anpt | grep :8080

成功啟動后,我們就可以通過http://ip地址:端口號/jenkins訪問

?

解決方法:在linux虛擬機中

[root@localhost ~]# cd /var/lib/jenkins/secrets/

[root@localhost secrets]# cat ?initialAdminPassword

afbe3f8f7d39487f92b02df4df6ef2e6

initialAdminPassword 中的密碼復制粘貼到administrator password里

continue

?

點擊“install suggested plugins”

等待下載

會出現一個填寫

用戶名 test

密碼test

完成!!!

?

出現上圖界面,表示安裝成功!

?

安裝Maven

Maven的下載地址:http://maven.apache.org/download.cgi
這里以最新的3.2.3版本為例進行安裝,在這之前需要確保機器上已經安裝了JDK。

首先下載Maven并解壓,并移動到usr/local目錄下

$ wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz

$ tar vxf apache-maven-3.2.3-bin.tar.gz

$ mv apache-maven-3.2.3 /usr/local/maven3

修改環境變量,在/etc/profile中添加以下幾行

MAVEN_HOME=/usr/local/maven3

export MAVEN_HOME

export PATH=${PATH}:${MAVEN_HOME}/bin

記得執行source /etc/profile使環境變量生效。

最后運行mvn -v驗證maven是否安裝成功,如果安裝成功會打印如下內容

Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-12T04:58:10+08:00)

Maven home: /usr/local/maven3

Java version: 1.7.0_65, vendor: Oracle?Corporation

Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "linux", version: "3.13.0-35-generic", arch: "amd64", family: "unix"

?

?

?

?

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

使用Maven創建項目

無論是學習語言還是框架,先來一個Hello World基本上已經是套路了,我們也通過構建一個Hello World項目來了解如何使用Maven。
首先通過maven創建helloworld項目

$ mvn archetype:create -DgroupId=helloworld -DartifactId=helloworld

生成的項目目錄如下,其中src/main/java是源碼目錄,src/test/java是測試文件目錄。
一共只有三個文件,打開這三個文件,可以看到App.java中已經寫好了一個Hello World程序,而AppTest中是Junit單元測試的代碼,至于pom.xml,則給出了項目的一些基本信息以及依賴關系。

helloworld/

├── pom.xml

└── src

├── main

│? └── java

│? └── helloworld

│? └── App.java

└── test

└── java

└── helloworld

└── AppTest.java

這里主要看一下pom.xml文件,內容如下

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

?

<groupId>helloworld</groupId>

<artifactId>helloworld</artifactId>

<version>1.0-SNAPSHOT</version>

<packaging>jar</packaging>

?

<name>helloworld</name>

<url>http://maven.apache.org</url>

?

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

</properties>

?

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>3.8.1</version>

<scope>test</scope>

</dependency>

</dependencies>

</project>

pom.xml文件中,首先描述了項目的定義,groupId:artifactId:packaging:version這個四元組能夠唯一標記一個項目。我們不僅可以用這個四元組來標記我們的項目,也可以用來標記其它的項目,比如用來描述項目依賴關系。perperties中定義了項目的屬性,也可以在這里定義變量并在其它的地方引用。至于最后的dependencies,則是描述了項目的依賴關系,Maven會根據依賴關系自動下載相應的文件并在編譯時使用。

在大型項目開發中,往往會將其分成若干個子項目,每個子項目都有著自己的的pom.xml,它們與父pom.xml之間相當于繼承的關系。

可以說,pom.xml文件的配置是整個Maven的核心重點,也是學習Maven過程中需要詳細了解的內容。這里只給出了最簡單的配置樣例,詳細了解可以查看官方文檔。

接下來編譯并運行Helloworld項目。

如果是第一次編譯的話,需要聯網,因為Maven會自動下載依賴包。

$ mvn package

下載的依賴包會保存在~/.m2/repository文件夾中,打開這個文件夾,我們會發現里面的包正是按前面所說的四元組目錄結構進行存儲的。Maven在依賴一個jar包時會先去本地庫查找,如果沒找到就會從網上下載。當然,并不是所有的包都能從網上下載到,比如我們自己開發的jar包,這時,我們就可以用mvn install命令將一個項目安裝到本地倉庫。

打包成功后我們會發現項目中多了一個target文件夾,目錄結構如下

target/

├── classes

│? └── helloworld

│? └── App.class

├── helloworld-1.0-SNAPSHOT.jar

├── maven-archiver

│? └── pom.properties

├── maven-status

│? └── maven-compiler-plugin

│? ├── compile

│? │? └── default-compile

│? │? ├── createdFiles.lst

│? │? └── inputFiles.lst

│? └── testCompile

│? └── default-testCompile

│? ├── createdFiles.lst

│? └── inputFiles.lst

├── surefire-reports

│? ├── helloworld.AppTest.txt

│? └── TEST-helloworld.AppTest.xml

└── test-classes

└── helloworld

└── AppTest.class

可以看到,在package過程中,maven完成了編譯、測試代碼,生成測試報告,生成jar包等一系列工作。

最后,我們也可以手動運行jar包查看結果。

$ java -cp target/helloworld-1.0-SNAPSHOT.jar helloworld.App

Hello World!

Maven常用命令

Maven的命令非常多,學習命令首先要了解Maven的生命周期。

Maven首先會驗證并處理引用資源,之后進行項目編譯,如果沒有聲明跳過測試,也會編譯測試代碼并進行測試、以成測試報告。最后,Maven會將編譯好的內容進行打包,用于發布。

Maven命令與Maven的生命周期有著對應的關系,一個命令也經常會包含多個生命周期,比如mvn package會完成以上所有步驟。

這里列舉幾個常用的命令

mvn compile 編譯項目

mvn test 編譯運行單元測試

mvn package 打包(jar or war)

mvn install 將項目安裝到本地倉庫

mvn clean 清空項目

mvn eclipse:eclipse 生成eclipse工程

?

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

?

jenkins構建svn源碼

?

從網上找的build.xml文件

具體實現步驟如下:

(1)Global ?Tool ?Configuration 下配置jdkmaven

(2)新建一個項目,我這里選擇的是“構建自由的項目”

(3)構建完成后保存,自動會回到你新建的新項目下的配置界面

(4)找到svn,配置svn路徑跟用戶密碼

(5)保存

(6)在做調用build.xml文件之前,先將配置好的jenkins測試一下

(7)jenkins首頁,搜索你創建的新項目的名稱,點擊構建,打開“console control”看下有沒有成功。(注意:這里因為配置并未完全搭建完成,屬于半成品,所以構建時成功了就可以)

(8)接下來我們要試著去將代碼上傳到svn服務器上,然后通過jenkins來調用svn服務器下開發所上傳的代碼是否可以構建成功

(9)首先,先找到你的項目名稱(也就是你的svn代碼上傳到什么項目名下)

(10)找到項目之后,點擊“配置”

?

打開之后是這樣的界面

(11)接下來我們配置svn代碼路徑。找到“參數化構建過程”----添加參數

?

配置好之后的頁面如下

?

保存,點擊構建

?

?

利用jenkins實現自動化部署SVN環境

?

1)下載maven插件“maven integration plugins

安裝完成之后就可以創建maven項目了

(2)安裝Deploy插件”Deploy to container ?plugin

安裝完成后會在“構建后”這里出現一個“Deploy war/ear to a container

(3)創建構建項目

1.1配置JDKMAVEN

在配置項目之前先配置JDKMAVEN

點擊,系統管理----Global ?Tool Configuration,填寫JDKMAVEN相關內容

1.2創建構建項目

具體如下

首頁點擊“新建”-----

這里的報錯信息不用管,因為我這個項目是創建完成的

?

接下來配置已創建好的項目

1.

?

2.源碼管理

?

Repository URL這個填寫svn分支路徑

Credentials?svn登陸用戶與密碼

3.Pre ?Steps

?

4.Build

.

注意:這里的pom.xml原本是在服務器的這個路徑下/root/.jenkins/plugins/workflow-aggregator/META-INF/maven/org.jenkins-ci.plugins.workflow/workflow-aggregator

我將pom.xml下載下來放在了svn目錄里

?

就到這里,保存之后點擊構建

我們可以點擊console control“查看構建信息

?

創建構建好的項目默認放在/root/.jenkins/workspace/

?

?

?

?

Linux下一鍵安裝禪道

禪道官網下載安裝包http://www.zentao.net/download/80025.html?

解壓安裝軟件包

tar -zxvf ZenTaoPMS.9.0.1.zbox_64.tar.gz -C /opt/

?

啟動apachemysql

/opt/zbox/zbox start

?

如果想要修改apache端口號

/opt/zbox/zbox -ap 82

?

瀏覽器打開禪道http://ip地址:apache端口號

?

利用禪道來做集成禪道+svn

cd /opt/zbox/app/zentao/module/svn/

vim config.php

修改配置文件

具體如下:

$i = 1;

$config->svn->client = '/home/svn/'; ??????-----這個是用來客戶端存儲客戶端執行文件svn.exe路徑

$config->svn->repos[$i]['path'] ????= 'http://svn.zentao.net/zentao/trunk/'; ??----存儲svn代碼路徑 ?

$config->svn->repos[$i]['username'] = 'admin'; ??----存儲svn登陸用戶

$config->svn->repos[$i]['password'] = 'admin'; ???-----存儲svn登陸密碼

?

下面這里只要將/*”和*/去掉

$i ++;

$config->svn->client = '';

$config->svn->repos[$i]['path'] ????= '';

$config->svn->repos[$i]['username'] = '';

$config->svn->repos[$i]['password'] = '';

?

?

執行svn同步命令

1.[root@test001 svn]# cd /opt/zbox/app/zentao/bin/

[root@test001 bin]# ls

init.bat ?init.sh ?php ?ztcli

[root@test001 bin]# bash init.sh

Please input your php path:(example: /usr/bin/php)

/opt/zbox/app/zentao/bin/php

php path is error

Please input your php path:(example: /usr/bin/php)

/usr/bin/php ???????????----php可執行文件的路徑

Please input zentao url:(example: http://localhost:88/zentao or http://localhost)

http://172.19.60.100:82/zentao/my/????---禪道訪問的url路徑

ztcli.sh ok

backup.sh ok

computeburn.sh ok

dailyreminder.sh ok

checkdb.sh ok

syncsvn.sh ok

syncgit.sh ok

cron.sh ok

?

[root@test001 ~]# cd /home/svn/ ????---切換到svn路徑

[root@test001 svn]# ls ????---查看svn路徑下有沒有svn.exe文件

project ?測試文件

[root@test001 svn]# mkdir svn.exe ????---新建一個svn.exe文件

?

[root@test001 svn]# cd /opt/zbox/app/zentao/bin/ ????----切換到zentao路徑下

[root@test001 bin]# php ?./ztcli ??"http://172.19.60.100:82/zentao/my/" ?

php來執行

./ztcli ??-----zentao/bin下游這個腳本文件

?"http://172.19.60.100:82/zentao/my/" ??????????----zentao訪問路徑

執行完成的效果如下:

??[root@test001 bin]# php ./ztcli "http://172.19.60.100:82/zentao/my/"

<!DOCTYPE html>

<html lang='zh-cn'>

<head>

??<meta charset='utf-8'>

??<meta http-equiv='X-UA-Compatible' content='IE=edge'>

??<meta name="renderer" content="webkit">

??<title>我的地盤 - 禪道</title>

<script language='Javascript'>var config={"webRoot":"\/zentao\/","appName":"","cookieLife":30,"requestType":"PATH_INFO","requestFix":"-","moduleVar":"m","methodVar":"f","viewVar":"t","defaultView":"html","themeRoot":"\/zentao\/theme\/","currentModule":"my","currentMethod":"index","clientLang":"zh-cn","requiredFields":"","router":".\/ztcli","save":"\u4fdd\u5b58","runMode":"","timeout":30000,"pingInterval":""};

var lang={"submitting":"\u7a0d\u5019...","save":"\u4fdd\u5b58","timeout":"\u8fde\u63a5\u8d85\u65f6\uff0c\u8bf7\u68c0\u67e5\u7f51\u7edc\u73af\u5883\uff0c\u6216\u91cd\u8bd5\uff01"};

?

</script>

<script src='/zentao/js/all.js?v=9.0.1' type='text/javascript'></script>

<link rel='stylesheet' href='/zentao/theme/default/zh-cn.default.css?v=9.0.1' type='text/css' media='screen' />

<style>.dropdown-menu.with-search {padding: 0; min-width: 150px; overflow: hidden; max-height: 302px;}

.dropdown-menu > .menu-search .input-group {width:100%;}

.dropdown-menu > .menu-search .input-group-addon {position: absolute; right: 10px; top: 0; z-index: 10; background: none; border: none; color: #666}

.dropdown-menu > .menu-search .form-control {border: none!important; box-shadow: none!important; border-top: 1px solid #ddd!important;}

.dropdown-list {display: block; padding: 0; max-height: 270px; overflow-y: auto;}

.dropdown-list > li > a {display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.53846154; color: #141414; white-space: nowrap;}

.dropdown-list > li > a:hover,

.dropdown-list > li > a:focus {color: #1a4f85;text-decoration: none;}

</style><link rel='icon' href='/zentao/favicon.ico' type='image/x-icon' />

<link rel='shortcut icon' href='/zentao/favicon.ico' type='image/x-icon' />

<!--[if lt IE 9]>

<script src='/zentao/js/html5shiv/min.js?v=9.0.1' type='text/javascript'></script>

<script src='/zentao/js/respond/min.js?v=9.0.1' type='text/javascript'></script>

<![endif]-->

<!--[if lt IE 10]>

<script src='/zentao/js/jquery/placeholder/min.js?v=9.0.1' type='text/javascript'></script>

<![endif]-->

</head>

<body>

<script>

var noResultsMatch ??????= '沒有匹配結果';

var chooseUsersToMail ???= '選擇要發信通知的用戶...';

var defaultChosenOptions = {no_results_text: noResultsMatch, width:'100%', allow_single_deselect: true, disable_search_threshold: 1, placeholder_text_single: ' ', placeholder_text_multiple: ' ', search_contains: true};

$(document).ready(function()

{

????$("#mailto").attr('data-placeholder', chooseUsersToMail);

????$("#mailto, .chosen, #productID").chosen(defaultChosenOptions).on('chosen:showing_dropdown', function()

????{

????????var $this = $(this);

????????var $chosen = $this.next('.chosen-container').removeClass('chosen-up');

????????var $drop = $chosen.find('.chosen-drop');

????????$chosen.toggleClass('chosen-up', $drop.height() + $drop.offset().top - $(document).scrollTop() > $(window).height());

????});

});

</script>

<header id='header'>

??<div id='topbar'>

????<div class='pull-right' id='topnav'><div class='dropdown' id='userMenu'><a href='javascript:;' data-toggle='dropdown'><i class='icon-user'></i> guest <span class='caret'></span></a><ul class='dropdown-menu'><li class='dropdown-submenu left'><a href='javascript:;'>主題</a><ul class='dropdown-menu'><li class='theme-option active'><a href='javascript:selectTheme("default");' data-value='default'>默認</a></li><li class='theme-option'><a href='javascript:selectTheme("green");' data-value='green'>綠色</a></li><li class='theme-option'><a href='javascript:selectTheme("red");' data-value='red'>紅色</a></li><li class='theme-option'><a href='javascript:selectTheme("lightblue");' data-value='lightblue'>亮藍</a></li><li class='theme-option'><a href='javascript:selectTheme("blackberry");' data-value='blackberry'>黑莓</a></li></ul></li><li class='dropdown-submenu left'><a href='javascript:;'>Language</a><ul class='dropdown-menu'><li class='lang-option active'><a href='javascript:selectLang("zh-cn");' data-value='zh-cn'>簡體</a></li><li class='lang-option'><a href='javascript:selectLang("zh-tw");' data-value='zh-tw'>繁體</a></li><li class='lang-option'><a href='javascript:selectLang("en");' data-value='en'>English</a></li></ul></li></ul></div><a href='/zentao/user-login.html' >登錄</a>

<div class='dropdown'><a href='javascript:;' data-toggle='dropdown'>幫助 <span class='caret'></span></a><ul class='dropdown-menu pull-right'><li><a href='javascript:;' class='open-help-tab'>手冊</a>

</li><li><a href='/zentao/misc-changeLog.html' class='iframe' data-width='800' data-headerless='true' data-backdrop='true' data-keyboard='true'>修改日志</a>

</li></ul></div><a href='/zentao/misc-about.html' class='about iframe' data-width='900' data-headerless='true' data-backdrop='true' data-keyboard='true' data-class='modal-about'>關于</a>

</div>

????<h5 id='companyname'>

??????易軟天創項目管理系統 ???</h5>

??</div>

??<nav id='mainmenu'>

????<ul class='nav'>

<li class='active' data-id='my'><a href='/zentao/my/' class='active'><i class="icon-home"></i><span> 我的地盤</span></a></li>

<li ?data-id='product'><a href='/zentao/product/' >產品</a></li>

<li ?data-id='project'><a href='/zentao/project/' >項目</a></li>

<li ?data-id='qa'><a href='/zentao/qa/' >測試</a></li>

<li ?data-id='doc'><a href='/zentao/doc/' >文檔</a></li>

<li ?data-id='report'><a href='/zentao/report/' >統計</a></li>

<li ?data-id='company'><a href='/zentao/company/' >組織</a></li>

<li class='custom-item'><a href='/zentao/custom-ajaxMenu-my-index.html?onlybody=yes' data-toggle='modal' data-type='iframe' title='自定義導航' data-icon='cog' data-width='80%'><i class='icon icon-cog'></i></a></li></ul>

<div class='input-group input-group-sm' id='searchbox'><div class='input-group-btn' id='typeSelector'><button type='button' class='btn dropdown-toggle' data-toggle='dropdown'><span id='searchTypeName'>Bug</span> <span class='caret'></span></button><input type='hidden' name='searchType' id='searchType' value='bug' ?/>

<ul class='dropdown-menu'><li><a href='javascript:;' data-value='bug'>Bug</a></li><li><a href='javascript:;' data-value='story'>需求</a></li><li><a href='javascript:;' data-value='task'>任務</a></li><li><a href='javascript:;' data-value='testcase'>用例</a></li><li><a href='javascript:;' data-value='project'>項目</a></li><li><a href='javascript:;' data-value='product'>產品</a></li><li><a href='javascript:;' data-value='user'>用戶</a></li><li><a href='javascript:;' data-value='build'>版本</a></li><li><a href='javascript:;' data-value='release'>發布</a></li><li><a href='javascript:;' data-value='productplan'>產品計劃</a></li><li><a href='javascript:;' data-value='testtask'>測試版本</a></li><li><a href='javascript:;' data-value='doc'>文檔</a></li></ul></div><input type='text' name='searchQuery' id='searchQuery' value='' οnclick='this.value=""' οnkeydοwn='if(event.keyCode==13) shortcut()' class='form-control' placeholder='編號(ctrl+g)' />

<div id='objectSwitcher' class='input-group-btn'><a href='javascript:shortcut();' class='btn'>GO! </a></div></div>

??</nav>

??<nav id="modulemenu">

????<ul class='nav'>

<li data-id='account'><span id="myname"><i class="icon-user"></i> guest?<i class="icon-angle-right"></i>?</span></li>

<li class=' active' data-id='index'><a href='/zentao/my/' >首頁</a>

</li>

</ul>

??</nav>

</header>

?

<div id='wrap'>

??<div class='outer'>

<link rel='stylesheet' href='/zentao/theme/default/index.css?v=9.0.1' type='text/css' media='screen' 9.0.1 />

<html><meta charset='utf-8'/><style>body{background:white}</style><script>self.location.reload(true);

?

</script>

?

接下來我們去zentao網頁上去建立發布計劃

具體流程請訪問一下鏈接http://www.zentao.net/book/zentaopmshelp/38.html ?

進入頁面之后直接左邊下拉找到你要看的流程就可以了。

?

?

自動部署的思路,使用jenkins作為任務的總調度師

1.jenkins首先調用svn更新代碼

2.Jenkins再調用ant將工程打成war。并a拷貝到指定目錄,這里的指定目錄指web server讀取源文件的目錄(這個過程可由antbuild.xml完成,也可由一個單獨的腳本完成)

3.jenkins再調用一個寫好的腳本觸發webserver更新應用程序。

?

轉載于:https://www.cnblogs.com/dynwings/p/6723090.html

總結

以上是生活随笔為你收集整理的Linux下搭建jenkins+svn+http+maven自动化部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。