做了一个简易的git 代码自动部署脚本

http://my.oschina.net/caomenglong/blog/472665

发表于2个月前(2015-06-30 21:08)   阅读(200) | 评论(1) 12人收藏此文章, 我要收藏
赞1

8月22日珠海 OSC 源创会正在报名,送机械键盘和开源无码内裤  

项目是THINKPHP写的 用了 oschina git 进行版本管理。

公网服务器是CentOS。每次用FTP上传很麻烦。

所以想到了在服务器上安装一个GIT进行 pull代码。因为我的远程服务器数据库和本地不一样,所以代码pull后还需要修改 几个config.php数据库配置文件。

所以想再git 代码更新后,要自动执行config.php文件的替换或者修改。

其中看到这里讨论http://www.v2ex.com/t/81173  git hook

然后看了下比较麻烦。也看不懂。

所以就自己写了一个SH脚本 效果非常不错。分享出来。

首先再服务器中建立一个文件夹,把项目代码clone下来。

1
git clone https://caomenglong@git.oschina.net/yfsoft/GR_Operate.git

代码仓库地址:

1
~/codes/ec.abc.com/GR_Operate

项目部署目录

1
/www/web/abc/public_html

test.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/sh
a="Please input your git account password"
echo $a
cd ~/codes/ec.abc.com/GR_Operate
git pull
cd /www/web/abc/public_html
rm -rf *
cp -r ~/codes/ec.abc.com/GR_Operate/* /www/web/abc/public_html
rm -rf /www/web/abc/public_html/Application/Common/Conf/config.php
rm -rf /www/web/abc/public_html/Application/User/Conf/config.php
cp /root/codes/ec.abc.com/needcopy/common_config.php /www/web/abc/public_html/Application/Common/Conf/config.php
cp /root/codes/ec.abc.com/needcopy/user_config.php /www/web/abc/public_html/Application/User/Conf/config.php
chown -R www *
chown -R :www *
echo "git pull success and cpoy codes to www folder done "
echo "SUCCESS!!"

原理很简单。先进入git目录 执行 git pull 更新代码

然后进入网站WWW目录删除所有的代码。

然后复制git目录下的代码到www目录下。

删除2个config.php文件,复制修改好的文件到相应目录下。

最后修改所有的文件和文件夹加入 用户权限和用户组权限。

使用方法很简单

1
./test.sh

做了一个简易的git 代码自动部署脚本的更多相关文章

  1. Java代码自动部署

    注:本文来源于<it小熊> [ ①Java代码自动部署-总结简介] 代码部署是每一个软件开发项目组都会有的一个流程,也是从开发环节到发布功能必不可少的环节.对于Java开发者来说,Java ...

  2. 利用Git搭建自动部署的Laravel环境 - 钟晨宇的博客 - CSDN博客

    目标:服务器上搭建Laravel环境,本地使用IDE进行开发,使用Homestead做本地调试环境,代码提交后自动部署到服务器Root目录下. 下面是整个流程的示意图:  1. 准备工作,搭建LNMP ...

  3. 把github代码自动部署到服务器

    一.参考文献 https://developer.github.com/webhooks/ https://docs.gitlab.com/ee/user/project/integrations/w ...

  4. 吻逗死(windows)系统下自动部署脚本(for java spring*)及linux命令行工具

    转载请注明出处:https://www.cnblogs.com/funnyzpc/p/10051647.html (^^)(^^)自動部署腳本原本在上個公司就在使用,由於近期同事需要手動部署一個Spr ...

  5. Tomcat项目自动部署脚本

    一般情况下使用的Linux环境都是加固的,root路径只有超级管理员权限才能进入.我们新建一个自己的用户,在/home下会有一个用户目录,传输war包都放在这个目录下,此时不动webapps文件下的内 ...

  6. GIT服务器实现web代码自动部署

    之前在一台vps服务器上面搭建了Git服务器,用来做代码管理,方便团队开发.但是问题也就相应的来了,使用git可以轻松的上传代码,而由于做的是web开发,每次还都得到服务器上把代码手动pull或者复制 ...

  7. git的安装使用和代码自动部署

    1.安装 http://www.cnblogs.com/sunada2005/archive/2013/06/06/3121098.html http://www.cnblogs.com/zhcncn ...

  8. centos 安装git服务器,配置使用证书登录并你用hook实现代码自动部署

    安装git服务器先安装依赖软件:yum -y install gcc zlib-devel openssl-devel perl cpio expat-devel gettext-devel open ...

  9. 搭建Git服务器环境----Git hooks代码自动部署

    引言:自己想搭一套git的服务端环境,不想用github码云等.经多方资料整合,实验总结,以下是亲测有效的方式.可用于公司日常开发 一.搭建Git环境 ① 安装 Git Linux 做为服务器端系统, ...

随机推荐

  1. mysql修改表的存储引擎(myisam<=>innodb)

    查看当前数据库的所支持的数据库引擎以及默认数据库引擎 mysql> show engines; +--------------------+---------+----------------- ...

  2. xampp 访问出现New XAMPP security concept

    在浏览器输入 http://60.10.140.22/xampp出现以下错误信息: Access forbidden! New XAMPP security concept: Access to th ...

  3. SVN服务器搭建和使用(三)(转载)

    转载地址:http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2408089.html 接下来,试试用TortoiseSVN修改文件,添加文件, ...

  4. wp8 入门到精通 ---时间

    DateTime.Now.ToShortTimeString()DateTime dt = DateTime.Now;dt.ToString();//2005-11-5 13:21:25dt.ToFi ...

  5. Codeforces Round #313 (Div. 2)B.B. Gerald is into Art

    B. Gerald is into Art Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/ ...

  6. JavaScript表单提交四种方式

    总结JavaScript表单提交四种方式 <!DOCTYPE html> <html> <head> <title>JavaScript表单提交四种方式 ...

  7. Mosquitto关于Connection lost的问题。

    文章发自:http://www.cnblogs.com/hark0623/p/4175048.html  转发请注明 如果当你的客户端订阅(sub)mqtt时,发现出现Connection lost ...

  8. Hark的数据结构与算法练习之计数排序

    算法说明 计数排序属于线性排序,它的时间复杂度远远大于常用的比较排序.(计数是O(n),而比较排序不会超过O(nlog2nJ)). 其实计数排序大部分很好理解的,唯一理解起来很蛋疼的是为了保证算法稳定 ...

  9. BeagleBone硬件概览Ethernet端口板载LEDc重置按钮等介绍

    BeagleBone硬件概览Ethernet端口板载LEDc重置按钮等介绍 你进入BeagleBone世界的第一步就是将它连接以得到命令提示,然后你就可以处理文件以及执行命令了.在这里,你就可以定制你 ...

  10. eBay Notification介绍

      1.简介 "通知服务"(约定为Notification的中文名称),是EbayAPI提供的一个便捷的工具,具有实时性的特点.   其设计思想基于发布-订阅模式.一旦客户端订阅了 ...