简单利用git部署网站到服务器
2017-03-25 13:54
453 查看
传统部署网站到服务器的方法一般是FTP,但是这样会有一些问题,比如一个是上传速度慢,再一个是不能进行版本控制。
常用的一个分布式版本控制工具就是git,关于git的详细使用方法可以参考廖雪峰Git教程。
另外在本地端和服务器端都应安装好了git工具,简单利用git部署网站的基本原理如下
当本地代码仓push时,会触发服务器端git的一个钩子(post-receive),从而执行checkout到网站目录的命令。
2.初始化代码仓
3.复制配置文件
4.编辑post-receive内容
2.编辑本地文件提交服务器
3.查看效果
通过ssh登录到服务器,查看网站根目录下是否有”test.php”文件。
或者直接访问”http://blinkdr.test/test.php“看是否输出’hello world’(这里假设服务器都已经配置好)。
如果在这过程中,没有部署成功,很大一部分原因是当前用户对网站的根目录没有写的权限,只需对其做权限修改即可。
常用的一个分布式版本控制工具就是git,关于git的详细使用方法可以参考廖雪峰Git教程。
准备
首先你得有一个主机作为服务器,可以ssh登录,假设服务器信息如下host: blinkdr.test user: blinkdr passwd: 123456 siteroot: /home/blinkdr/public_html //网站根目录
另外在本地端和服务器端都应安装好了git工具,简单利用git部署网站的基本原理如下
当本地代码仓push时,会触发服务器端git的一个钩子(post-receive),从而执行checkout到网站目录的命令。
服务器端仓库配置
1.新建一个目录作为远程代码仓库mkdir ~/test.git //客户端代码都提交到这里
2.初始化代码仓
cd test.git git init --bare //这里一定要加--bare选项
3.复制配置文件
cd hooks cp post-receive.sample post-receive
4.编辑post-receive内容
#!/bin/bash # SITEROOT=/home/blinkdr/public_html #清楚没有git add的文件和目录 git --work-tree=${SITEROOT} clean -fd #从仓库中强制checkout代码 git --work-tree=${SITEROOT} checkout -f
客户端设置
1.新建本地文件夹并与服务器仓库关联mkdir test cd test git init git remote add origin blinkdr@blinkdr.test:/home/blinkdr/test.git //这里会让你输入用户'blinkdr'的密码'123456' //若不想输入密码,则需要将本地客户端的'id_rsa.pub'文件中的内容添加到服务器中'/home/blinkdr/.ssh'目录下的authorized_keys文件中
2.编辑本地文件提交服务器
touch test.php echo "<?php echo 'hello world'; ?>" >> test.php git add test.php git commit -m "new a file test.php" git push origin master
3.查看效果
通过ssh登录到服务器,查看网站根目录下是否有”test.php”文件。
或者直接访问”http://blinkdr.test/test.php“看是否输出’hello world’(这里假设服务器都已经配置好)。
如果在这过程中,没有部署成功,很大一部分原因是当前用户对网站的根目录没有写的权限,只需对其做权限修改即可。
相关文章推荐
- 利用git push向服务器一键部署代码
- 阿里云服务器Ubuntu14.0.4部署git管理网站
- [转] 使用git自动部署简单网站
- 189 git hooks 2 利用git push向服务器一键部署代码
- 利用git将网站上传到GitHub做静态服务器
- 简单通俗的由入侵反应如何加强网站及服务器部署
- Git简单应用:部署代码到服务器
- 利用git将网站上传到GitHub做静态服务器
- 【Git】Centos6.5下简单部署Git服务器
- 简单通俗的由入侵反应如何加强网站及服务器部署
- 利用花生壳+顶级域名+动态IP+Tomcat简单架设自己的网站服务器
- 利用git快速部署远程服务器
- 利用部署的sms2003发布软件的简单解决办法(一)
- 利用apache服务器发布网站
- 简单的bean利用spring得到服务器上的路径
- 利用免费的域名和服务器部署自己的web项目(Java)
- 中大型网站的服务器部署架构
- vs 2005生成网站及服务器上web站点的部署
- Java 利用套接字Socket实现简单的服务器与客户端通信
- 利用AD冗余环境部署Windows冗余文件服务器