目标需求

开发提交代码到SVN,jenkins在分发服务器上执行'svn update',分发服务器在把代码同步到webserver,实现持续集成

流程

配置jenkins

一、jenkins所需插件

Ant Plugin
bouncycastle API Plugin
Branch API Plugin
build timeout plugin
Credentials Binding Plugin
Credentials Plugin
CVS Plug-in
Display URL API
Durable Task Plugin
Email Extension Plugin
Email Extension Template Plugin
External Monitor Job Type Plugin
Folders Plugin
Git client plugin
Git plugin
GIT server Plugin
GitHub API Plugin
GitHub Branch Source Plugin
GitHub Organization Folder Plugin
GitHub plugin
Gradle Plugin
Hudson WebSVN2 plugin
Icon Shim Plugin
Javadoc Plugin
JavaScript GUI Lib: Handlebars bundle plugin
JavaScript GUI Lib: jQuery bundles (jQuery and jQuery UI) plugin
JavaScript GUI Lib: Moment.js bundle plugin
JUnit Plugin
LDAP Plugin
Mailer Plugin
MapDB API Plugin
Matrix Authorization Strategy Plugin
Matrix Project Plugin
OWASP Markup Formatter Plugin
PAM Authentication plugin
Pipeline
Pipeline Graph Analysis Plugin
Pipeline: API
Pipeline: Basic Steps
Pipeline: Build Step
Pipeline: Groovy
Pipeline: Input Step
Pipeline: Job
Pipeline: Milestone Step
Pipeline: Multibranch
Pipeline: Nodes and Processes
Pipeline: REST API Plugin
Pipeline: SCM Step
Pipeline: Shared Groovy Libraries
Pipeline: Stage Step
Pipeline: Stage View Plugin
Pipeline: Step API
Pipeline: Supporting APIs
Plain Credentials Plugin
Publish Over FTP
Publish Over SSH
Resource Disposer Plugin
SCM API Plugin
Script Security Plugin
SSH Credentials Plugin
SSH plugin
SSH Slaves plugin
SSH2 Easy Plugin
Structs Plugin
Subversion Plug-in
Subversion Revert Plugin
SVN 1.3 Compatibility Plugin
SVN 1.4 Compatibility Plugin
SVN Publisher plugin
svnmerge plugin
Terminate ssh processes
Timestamper
Token Macro Plugin
Tracking SVN Plugin
Windows Slaves Plugin
Workspace Cleanup Plugin

二、配置jenkins的SSH remote hosts

目的:由于jenkins服务器需要登录到分发服务器,所以得配置一下

jenkins首页--系统管理--系统设置

三、配置一个项目

配置代码仓库

配置构建

配置构建后操作,实现构建完成发邮件

四、脚本

分发服务器:项目脚本--wx.sh

vim /alidata1/shell/wx.sh
#!/bin/bash
ip="231.201.53.173 221.201.116.12"
local_dir_wx="/alidata1/project/wx" target_dir_wx="/opt/www" function wx(){ #实现把代码从分发服务器同步到web服务器
for i in $ip;do
rsync -pav -e"ssh -p7789" --delete --exclude=cache --exclude=logs --exclude=.svn --exclude="database.php" $local_dir_wx root@$i:$target_dir_wx >> /dev/null
done
} #备份并删除源代码
ssh -p7789 root@231.201.53.173 'sh /alidata1/shell/backup_project.sh wx' #在web服务器上执行,把源代码备份
ssh -p7789 root@221.201.116.12 'sh /alidata1/shell/backup_project.sh wx' #rsync wx_project bj1 to bj2&bj4
wx

web服务器:备份脚本

   vim /alidata1/shell/backup_project.sh
  #!/bin/bash
date1=`date +"%F-%H:%M"` src=/opt/www function wx(){
cd $src
tar -czvf /alidata1/rollback_project/wx/wx_$date1.tar.gz ./wx/*
} function api3(){
cd $src
tar -czvf /alidata1/rollback_project/api3/api3_$date1.tar.gz ./api3/* }
function admin(){
cd $src
tar -czvf /alidata1/rollback_project/admin/admin_$date1.tar.gz ./admin/* } function activity(){
cd /alidata1/www/timecash22
tar -czvf /alidata1/rollback_project/activity/activity_$date1.tar.gz ./activity/* }
if [ $1 == "wx" ]
then
wx
elif [ $1 == "api3" ]
then
api3
elif [ $1 == "admin" ]
then
admin
elif [ $1 == "activity" ]
then
activity
else
break
fi

  

  

Jenkins + SVN搭建php持续集成的更多相关文章

  1. Jenkins + svn + maven 构建持续集成环境搭建

    Jenkins简介 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: ...

  2. Jenkins+svn+ant+tomcat持续集成

    转载自 http://www.cnblogs.com/liuhaixia/p/7267473.html Jenkins是基于Java开发的一种持续集成工具,用于监控秩序重复的工作.通过Jenkins+ ...

  3. jenkins下搭建c++持续集成环境

      运行环境为centos 5.8 1.下载tomcat,并解压 2.下载jenkins,把jenkins.war放到tomcat的webapp目录下 3.在tomcat的bin目录下执行./star ...

  4. Jenkins+MSbuild+SVN实现dotnet持续集成 快速搭建持续集成环境

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建dotnet持续集成环境 一.准备工作 1.系统管理-->管理插件-->可选插件中找到MS ...

  5. Jenkins+MSbuild+SVN实现快速搭建.net持续集成环境(构建、编辑、部署到服务器)

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建.net持续集成环境 Jenkins和SVN安装这里就不介绍了 一.准备工作 1.Jenkins中系统 ...

  6. 使用Jenkins+Calabash+Cocoapods搭建iOS持续集成环境

    使用jenkins+calabash+cocoapods搭建ios持续集成环境 持续集成 持续集成到底是什么呢?依据敏捷大师Martin Fowler的定义: 持续集成是一种软件开发实践. 在持续集成 ...

  7. Jenkins +Maven+Tomcat+SVN +Apache项目持续集成构建

    详解Jenkins +Maven+Tomcat+SVN +Apache项目持续集成 一:前言 1. Jenkins jenkins版本大全http://mirrors.jenkins-ci.org/ ...

  8. Jenkins Jenkins结合GIT Maven持续集成环境配置

    Jenkins结合GIT Maven持续集成环境配置   by:授客 QQ:1033553122 安装Git插件 1 安装Git客户端 1 安装JAVA JDK及MAVEN 2 Jenkins JDK ...

  9. .NET作品集:基于svn 的.net 持续集成工具

    作品背景 这个.net 持续集成作品还是在2014年的时候从事.net 软件项目开发的时候做的,当时部门还用着vs2008用vb.net做项目(现在也是),项目代码极混乱,版本工具用的vss,而且用的 ...

随机推荐

  1. Node.js——开放静态资源原生写法

    借助了mime第三方包,根据请求地址请求的文件后缀,设置content-type

  2. IE盒模型和标准w3c盒模型

    Margin(外边距) - 清除边框外的区域,外边距是透明的.Border(边框) - 围绕在内边距和内容外的边框.Padding(内边距) - 清除内容周围的区域,内边距是透明的.Content(内 ...

  3. 大写URL转小写

    添加LowercaseRoutesMVC.dll引用.通过“管理—NuGet程序包”搜索LowercaseRoutesMVC,然后点击安装.安装成功后会自动引用LowercaseRoutesMVC.d ...

  4. 模拟Java-Sping,实现其IOC和AOP核心

    简易的IOC框图 注解的方式实现了左边的分支,那么就剩下右边的XML分支: XmlContext:这个类是也是AbstractApplicationContext的子类,和AnnotationCont ...

  5. WPF学习- 新建项目后自定义Main()[Type 'App' already defines a member called 'Main' with the same parameter types]

    问题点: 在App.xaml.cs中自己添加Main方法,编译会出现如下报错: 错误 CS0111 类型“App”已定义了一个名为“Main”的具有相同参数类型的成员  错误 Type 'App' a ...

  6. 正则表达式,匹配查找函数(preg_match_all)flags参数对比

    格式: int preg_match_all ( string pattern, string subject, array matches [, int flags] ) 参数 flags 选项有以 ...

  7. qemu启动vm后,如何host上使用ssh连接?

    qemu启动vm后,如何从host ssh连接vm? qemu启动参数 启动命令: ${cmd_qemu_system} --enable-kvm \ -machine type=q35,accel= ...

  8. hdfs深入:06、hdfs的写入过程

    7.HDFS的文件写入过程 详细步骤解析: 1. client发起文件上传请求,通过RPC与NameNode建立通讯,NameNode检查目标文件是否已存在,父目录是否存在,返回是否可以上传: 2. ...

  9. 诊断:ORA-16188: LOG_ARCHIVE_CONFIG settings inconsistent with previously started instance

    11g数据库里面一个套RAC环境,之前搭建过DG,后来拆除掉.某次演练重启的时候,碰到数据库无法open的情况.日志显示 WARNING: The 'LOG_ARCHIVE_CONFIG' init. ...

  10. P1759 通天之潜水(不详细,勿看)(动态规划递推,组合背包,洛谷)

    题目链接:点击进入 题目分析: 简单的组合背包模板题,但是递推的同时要刷新这种情况使用了哪些物品 ac代码: #include<bits/stdc++.h> using namespace ...