git实现代码提交自动部署到相应的web服务器
来源:互联网 发布:淘宝上的内存条能买吗 编辑:程序博客网 时间:2024/05/16 04:41
现在想实现在本地对web代码push之后就将代码同步到线上的web服务器,这样就可以直观的看到效果了。百度和Google有很多的实现的方法,不过不知道是环境的原因还是别的原因,按照这些方法始终没有成功,经过测试下面简单的将实现方法分享下。
我的做法是先登录到我的gitlab的服务器(我们的代码由gitlab进行统一的管理),找到我自己的一个test的项目。
环境说明:
gitlab(10.212.118.56)
webserver(192.168.1.1)
1、首先在gitlab的server中clone一个项目
gitlab服务器中存放代码的目录为(/git/gitlab/apps/gitlab/repositories/xuejinliang/test.git/),此处是我自己的一个test的项目。
2、在server中的/tmp中
git clone /git/gitlab/apps/gitlab/repositories/xuejinliang/test.git/
之后编写hook函数,找到test.git项目的hook文件所在位置
cd /git/gitlab/apps/gitlab/repositories/xuejinliang/test.git/hooks
cat >post-receive <<EOF
#!/bin/bash
unset GIT_DIR
Deploy_Dir=/tmp/test/
remote_dir=/gago/web/test
cd ${Deploy_Dir}
git pull
#/bin/rsync -auzvP --delete /tmp/test/ serverip:/gago/web/test
#ssh root@42.159.145.166 <<EOF
#chown -R www.www /gago/web/test
EOF
后面的三行代码我加上了注释发现,因为在利用Mac端的工具source-tree进行提交的时候,发现rsync会报错,所以我单独的将此rsync写成了一个脚本然后每分钟执行一次,这样就会将同步好的代码同步到web服务器了。(rsync提前做好了免密码操作,基于ssh)。
下面的是rsync的报错
remote: rsync: connection unexpectedlyclosed (0 bytes received so far) [sender]
remote: rsync error: unexplained error (code255) at io.c(605) [sender=3.0.9]
百度Google了下没看解决,希望有同样经验的同学分享下。
- git实现代码提交自动部署到相应的web服务器
- GIT服务器实现web代码自动部署
- GIT服务器实现web代码自动部署
- Ubuntu Server 中实现自动部署提交到SVN的代码
- 【Webhooks】使用Git的Webhooks进行服务器自动部署代码
- Git提交本地库代码到远程服务器的操作
- [笔记]利用Webhook实现coding上的代码自动部署到Centos7服务器上
- 使用git提交代码到远程服务器
- git提交代码到远程服务器
- 提交本地代码到git服务器
- 使用git代替FTP部署代码到服务器的例子
- Git简单应用:部署代码到服务器
- centOs6.5 SVN 服务器搭建并实现提交自动同步到web服务器
- git本地提交自动部署到项目hooks
- git hook实现代码自动部署
- git提交到远程仓库(or部署服务器)
- git提交到服务器
- GIT 代码自动部署
- 程序员——高考的第二春
- FreeMarker
- 关于Android6.0 权限 文件读写
- 第十六周:( Sicily1321) Robot(c++)
- R-CNN,Fast R-CNN,Faster R-CNN
- git实现代码提交自动部署到相应的web服务器
- Java实现-不同的路径2
- 前端与后端的关系
- 几种代码量统计工具的安装及使用
- 056、057、058-C++
- [RK3288][Android6.0] 调试笔记 --- Audio的Voice Call无法静音问题
- VC++ 取得 其他app的ListBox 内容
- 华为实习day4
- php上下文(Context)介绍