设为首页 收藏本站
查看: 1280|回复: 0

[经验分享] Linux下搭建jenkins+svn+http+maven自动化部署

[复制链接]

尚未签到

发表于 2018-1-9 17:48:02 | 显示全部楼层 |阅读模式
  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>  解决方法如下:
  关掉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.deb(Ubuntu/Debian), 或 jenkins.war(war包)
  2.jenkins安装
  (1)jenkins安装前,先安装tomcat
  软件:apache-tomcat-7.0.29.tar.gz
  下载地址:http://tomcat.apache.org/
  系统环境redhat
[解压jdk]

  安装jdk之前先查看
[iyunv@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>  执行source profile(在/etc/文件夹下)快速生效
  测试
  输入java测试
  输入java -version测试
[iyunv@localhost etc]# javac -version

  javac 1.7.0_65
[iyunv@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虚拟机中
[iyunv@localhost ~]# cd /var/lib/jenkins/secrets/

[iyunv@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/

├──>│  └── 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.[iyunv@test001 svn]# cd /opt/zbox/app/zentao/bin/
[iyunv@test001 bin]# ls

  init.bat  init.sh  php  ztcli
[iyunv@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
[iyunv@test001 ~]# cd /home/svn/     ---切换到svn路径

[iyunv@test001 svn]# ls     ---查看svn路径下有没有svn.exe文件

  project  测试文件
[iyunv@test001 svn]# mkdir svn.exe     ---新建一个svn.exe文件

[iyunv@test001 svn]# cd /opt/zbox/app/zentao/bin/     ----切换到zentao路径下

[iyunv@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访问路径
  执行完成的效果如下:
[iyunv@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>  <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>
  <link>  <!--[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,>  $(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>
  <div>
  <div>
  <div>
  </li><li><a href='/zentao/misc-changeLog.html'>
  </li></ul></div><a href='/zentao/misc-about.html'>  </div>

  <h5>  易软天创项目管理系统    </h5>
  </div>

  <nav>
  <ul>
  <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>
  <div>
  <ul>
  <div>  </nav>
  <nav>

  <ul>  <li data-id='account'><span><i></i> guest <i></i> </span></li>

  <li>  </li>
  </ul>
  </nav>
  </header>

  <div>
  <div>
  <link>  <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更新应用程序。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-433307-1-1.html 上篇帖子: Jenkins的安装配置及使用 下篇帖子: 结合提供者模式解析Jenkins源码国际化的实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表