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

服务器设置:

卸载redhat的yum,安装centos的yum,配置第三方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

(2)svn独立服务器

这里,我们借助于apache来实现svn访问

1.首先,我们来安装svn apache软件包

yum   install  httpd   httpd-devel   subversion  mod_dav_svn

***mod_dav_svn**//Subversion与Apache之间的接口(通过它,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 2009,18: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.war(war包)

2.jenkins安装

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

软件:apache-tomcat-7.0.29.tar.gz
下载地址:http://tomcat.apache.org/

系统环境redhat

[解压jdk]

安装jdk之前先查看

[[email protected] 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测试

[[email protected] etc]# javac -version

javac 1.7.0_65

[[email protected] 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虚拟机中

[[email protected] ~]# cd /var/lib/jenkins/secrets/

[[email protected] 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 下配置jdk与maven

(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配置JDK和MAVEN

在配置项目之前先配置JDK和MAVEN

点击,系统管理----Global  Tool Configuration,填写JDK与MAVEN相关内容

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/

启动apache和mysql

/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.[[email protected] svn]# cd /opt/zbox/app/zentao/bin/

[[email protected] bin]# ls

init.bat  init.sh  php  ztcli

[[email protected] 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

[[email protected] ~]# cd /home/svn/     ---切换到svn路径

[[email protected] svn]# ls     ---查看svn路径下有没有svn.exe文件

project  测试文件

[[email protected] svn]# mkdir svn.exe     ---新建一个svn.exe文件

[[email protected] svn]# cd /opt/zbox/app/zentao/bin/     ----切换到zentao路径下

[[email protected] bin]# php  ./ztcli   "http://172.19.60.100:82/zentao/my/"

用php来执行

./ztcli   -----在zentao/bin下游这个脚本文件

"http://172.19.60.100:82/zentao/my/"           ----zentao访问路径

执行完成的效果如下:

[[email protected] 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=‘‘ onclick=‘this.value=""‘ onkeydown=‘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读取源文件的目录(这个过程可由ant的build.xml完成,也可由一个单独的脚本完成)

3.jenkins再调用一个写好的脚本触发webserver更新应用程序。

时间: 2024-09-29 01:29:47

Linux下搭建jenkins+svn+http+maven自动化部署的相关文章

.NET 半天搭建Jenkins持续集成与自动化部署系统

前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛.由于我们所做的系统业务复杂,系统庞大,设计到多个系统之间的合作,而核心系统更是采用分布式系统架构,由于当时对系统划分的不合理等等原因导致每次发版都会设计到多个系统的发布,小的版本三五个,大的版本十几个甚至几十个系统的同时发布!而我们也没有相应的基础设施的支撑,发版方式更是最传统的,开发人员将发布包发给运维人员,由其讲各个发布包一个一个覆盖到生产环境.因此每次上线仅仅发版就需要2-3个小时.这种方式

linux下搭建SVN服务器

最近搞了一台云服务器,尝试部署一些服务器相关的东西,作为开发用服务器,首先考虑搭建的是SVN服务器.记录一下搭建的过程,方便以后查看. 一.安装svn软件,有些云服务器会有安装svn服务器,有些没有. # yum install -y subversion                        //在线安装svn # svnserve --version                                  //检查svn版本 二.创建svn版本库 1.创建一个项目的版本目录

在linux下搭建Robot Framework

在linux下搭建自动化测试框架Robot Framework,可以实现多用户同时登录并进行自动化脚本编写,相互之间没有影响. linux系统:fedora 21 步奏 描述 动作 note 1 Install Python yum install python yum list python  /* can view which python version will be installed */ 2 Install easy_install sudo yum install python-

Linux下搭建无人执守安装服务器

Linux下搭建无人执守安装服务器 实验概述 原理和概念: 1:什么是PXE ? 严格来说,PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client.PXE (Pre-bootExecution Environment)协议使计算机可以通过网络启动. 网卡中必须有PXE芯片 协议分为client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BI

Linux下搭建DNS服务器

一.修改Linux主机名 1.hostname 主机名 [[email protected] named]# hostname ifs.com 2.vi /etc/hosts [[email protected] named]# vi /etc/hosts 127.0.0.1 ns.ifs.com ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 ~ 3.vim /etc/sysconfi

Linux下搭建DHCP服务器

一.DHCP所需软件包dhcp-common-4.1.1-34.Pl.el6.centos.x86_64dhcp-4.1.1-34.pl.el6.centon.x86_64二.编辑主配置文件 vi/etc/dhcp/dhcpd.conf ddns-update-style interim; ignore client-updates; shared-network ifs {        option domain-name     "ifs.com";        option 

linux下搭建nginx+php(FastCGI)+mysql运行环境

一.安装环境 1.CentOS5.5 2.php5.4 3.MySQL5.5.19 二.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安装上,可以使用rpm包安装,也可以用yum命令安装, 1 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc gli

Linux下搭建Apache服务器(完整版)

Linux下搭建Apache服务器(完整版) 什么是Apache? Apache Licence是著名的非盈利开源组织Apache采用的协议.该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件).需要满足的条件也和BSD类似 Apache主要特点 1.开放源代码.跨平台应用 2.支持多种网页编程语言 3.模块化设计 .运行稳定.良好的安全性 Apache软件版本 1.X  1.目前最高版本是1.3,运行稳定  2.向下兼容性较好,但缺乏一些较新

【转】Linux 下搭建Postfix邮件服务器详解:

在我自己的服务器上面搭建了邮件服务器,为的是接下来写shell脚本进行报警监控.当服务器发生意外,可以及时发送邮件服务器到邮箱. 看了两个教程,按照两个教程来搭建的,感谢原作. Linux 下搭建Postfix邮件服务器详解: 1.首先关闭sendmail服务 service sendmail stop 2.chkconfig sendmail off(关闭开机自启动) 3.修改DNS正解文件,使DNS能够解析邮箱服务 添加下面两行 mail.zhubf.com. IN A