做了一个简易的git 代码自动部署脚本
做了一个简易的git 代码自动部署脚本
http://my.oschina.net/caomenglong/blog/472665
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/sha="Please input your git account password"echo $acd ~/codes/ec.abc.com/GR_Operategit pullcd /www/web/abc/public_htmlrm -rf *cp -r ~/codes/ec.abc.com/GR_Operate/* /www/web/abc/public_htmlrm -rf /www/web/abc/public_html/Application/Common/Conf/config.phprm -rf /www/web/abc/public_html/Application/User/Conf/config.phpcp /root/codes/ec.abc.com/needcopy/common_config.php /www/web/abc/public_html/Application/Common/Conf/config.phpcp /root/codes/ec.abc.com/needcopy/user_config.php /www/web/abc/public_html/Application/User/Conf/config.phpchown -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 代码自动部署脚本的更多相关文章
- Java代码自动部署
注:本文来源于<it小熊> [ ①Java代码自动部署-总结简介] 代码部署是每一个软件开发项目组都会有的一个流程,也是从开发环节到发布功能必不可少的环节.对于Java开发者来说,Java ...
- 利用Git搭建自动部署的Laravel环境 - 钟晨宇的博客 - CSDN博客
目标:服务器上搭建Laravel环境,本地使用IDE进行开发,使用Homestead做本地调试环境,代码提交后自动部署到服务器Root目录下. 下面是整个流程的示意图: 1. 准备工作,搭建LNMP ...
- 把github代码自动部署到服务器
一.参考文献 https://developer.github.com/webhooks/ https://docs.gitlab.com/ee/user/project/integrations/w ...
- 吻逗死(windows)系统下自动部署脚本(for java spring*)及linux命令行工具
转载请注明出处:https://www.cnblogs.com/funnyzpc/p/10051647.html (^^)(^^)自動部署腳本原本在上個公司就在使用,由於近期同事需要手動部署一個Spr ...
- Tomcat项目自动部署脚本
一般情况下使用的Linux环境都是加固的,root路径只有超级管理员权限才能进入.我们新建一个自己的用户,在/home下会有一个用户目录,传输war包都放在这个目录下,此时不动webapps文件下的内 ...
- GIT服务器实现web代码自动部署
之前在一台vps服务器上面搭建了Git服务器,用来做代码管理,方便团队开发.但是问题也就相应的来了,使用git可以轻松的上传代码,而由于做的是web开发,每次还都得到服务器上把代码手动pull或者复制 ...
- git的安装使用和代码自动部署
1.安装 http://www.cnblogs.com/sunada2005/archive/2013/06/06/3121098.html http://www.cnblogs.com/zhcncn ...
- centos 安装git服务器,配置使用证书登录并你用hook实现代码自动部署
安装git服务器先安装依赖软件:yum -y install gcc zlib-devel openssl-devel perl cpio expat-devel gettext-devel open ...
- 搭建Git服务器环境----Git hooks代码自动部署
引言:自己想搭一套git的服务端环境,不想用github码云等.经多方资料整合,实验总结,以下是亲测有效的方式.可用于公司日常开发 一.搭建Git环境 ① 安装 Git Linux 做为服务器端系统, ...
随机推荐
- 解决来QQ消息后歌曲音量降低问题
今天学了一天,晚上听歌放松一下,谁知碰到了一个很纠结的问题,我正在聊天,每当来QQ消息后,我的歌曲音量自动降低,降到非常小,然后我就调高 音量,把音乐的音量调到最大,又把系统音量调到最大,谁知音乐的声 ...
- hdu 4091 线性规划
分析转自:http://blog.csdn.net/dongdongzhang_/article/details/7955136 题意 : 背包能装体积为N, 有两种宝石, 数量无限, 不能切割. ...
- PHP文件处理类
/** * 文件读写类 * 读取时,支持跳过N个/行字符然后再读取M个/行字符 * 支持每次读取时使用回调函数 * * 示例: * $file = new File('a.txt', 'r'); * ...
- Android 文件夹命名规范 国际化资源
Android 文件夹命名规范 国际化资源 android多国语言文件夹文件汇总如下: 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values- ...
- achartengine 绘图表神器
http://code.google.com/p/achartengine/
- c# 数据绑定之 DataFormatString 格式
数据绑定之DataFormatString 设定BoundField的DataFormatString,通常有以下几种 DataFormatString= "{0:C}" 货币,货 ...
- wpf 客户端【JDAgent桌面助手】开发详解(四) popup控件的win8.0的bug
目录区域: 业余开发的wpf 客户端终于完工了..晒晒截图 wpf 客户端[JDAgent桌面助手]开发详解-开篇 wpf 客户端[JDAgent桌面助手]详解(一)主窗口 圆形菜单... wpf 客 ...
- 拓扑排序 POJ 1049 Sorting It All Out
题目传送门 /* 拓扑排序裸题:有三种情况: 1. 输入时发现与之前的矛盾,Inconsistency 2. 拓扑排序后,没有n个点(先判断cnt,即使一些点没有边连通,也应该是n,此时错误是有环): ...
- Linux基础命令(1)
使用Ctr + Alt + F1(2,3,4,5,6)进入终端. 使用Ctr + Alt + F7回到界面. date 显示系统日期 cal 2015 显示2015年的日历表 reboot 重启 sh ...
- 关于InputStream.read()方法的阻塞原理的测试
最近在一家公司做java实习,写了个网络字节采集器.写了个单例TCPServer来采集数据,其中用到了InputStream.read()来读取数据.产生了一系列问题,下面做下总结: 关于while( ...