/***************************************************************************
* Git 部署 Web 网站
* 说明:
* 主要是想自动部署静态网站到自己的VPS上,这样做的目的是方便像github
* pages那样更新内容。
*
* 2017-2-7 深圳 南山平山村 曾剑锋
**************************************************************************/ 一、参考文档:
. 处理git clone命令的非标准SSH端口连接
http://nanxiao.me/git-clone-ssh-non-22-port/
. 使用Git来部署一个Web站点笔记
http://rmingwang.com/using-git-to-deploy-a-web-site.html 二、操作步骤:
. VPS安装Web相关软件,nginx、Apache,选自己擅长的就行;
. VPS生成git SSHkey,主要是提交代码的时候使用SSH来提交;
. 把自己的id_rsa.pub文件内容拷贝到VPS的/~/.ssh/authorized_keys文件里,一行一个;
. 在VPS上创建git仓库:
git init --bare demo.git
. 在demo.git的hooks创建post-receive文件并添加:GIT_WORK_TREE=/home/zengjf/www git checkout -f,操作如下:
[root@localhost demo.git]# cd hooks/
[root@localhost hooks]# ls
applypatch-msg.sample post-receive.sample pre-rebase.sample
commit-msg.sample post-update.sample prepare-commit-msg.sample
post-commit.sample pre-applypatch.sample update.sample
post-receive pre-commit.sample
[root@localhost hooks]# pwd
/home/zengjf/demo.git/hooks
[root@localhost hooks]# cat post-receive
GIT_WORK_TREE=/home/zengjf/www git checkout -f
[root@localhost hooks]#
. 在开发机上写好内容,git add、git commit,最后推送到VPS服务器上,命令大致如下:
git push ssh://root@21.106.105.15:7841/home/zengjf/demo.git master
. 自动在web目录生成了想要的推送文件:
[root@localhost www]# ls
index.html
[root@localhost www]# cat index.html
zengjf
two times
three times
four times
five times
[root@localhost www]# pwd
/home/zengjf/www
[root@localhost www]#

Git 部署 Web 网站的更多相关文章

  1. 本地git部署web连接azure的git存储库

    ​​​本地git部署web 创建本地存储仓库 输入以下命令创建git本地仓库(会在当前目录下生产一个.git的目录) git init 然后提交内容 在git仓库所在的目录下存放好需要的网页文件 将文 ...

  2. 利用IIS部署WEB网站以及解决CSS/JS不能显示问题

    利用IIS部署WEB网站以及解决CSS/JS不能显示问题 转载声明:http://blog.sina.com.cn/s/blog_a001e5980101b4kt.html vs中正常IIS发布网站后 ...

  3. Lodop部署web网站 客户端本地打印角色

    Lodop用于客户端本地打印,部署到web网站非常简单,此博文介绍的是混合部署方式,该方式兼容所有浏览器,当浏览器支持np插件的时候,使用Lodop插件方式,浏览器不支持np插件,会用C-Lodop服 ...

  4. .Net Core 部署之一 《CentOS 从GitHub/Gitee 等源代码网站部署Web网站》

    先看下楼主从某阿打折购买的渣渣服务器 lsb_release -a 一.安装dotnet-SDK 注册微软的服务 sudo rpm -Uvh https://packages.microsoft.co ...

  5. [转帖]龙芯服务器部署WEB服务的体验和详细步骤

    龙芯服务器部署WEB服务的体验和详细步骤 2019年01月02日 18:40:34 weixin_40065369 阅读数 1733   版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权 ...

  6. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(二)--技术流ken

    项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)--技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个 ...

  7. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站(一)--技术流ken

    前言 在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>,<Git+Gitlab+A ...

  8. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站(一)

    在之前已经写了关于Git,Gitlab以及Ansible的两篇博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>,<Git+Gitlab+Ansi ...

  9. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(7)

    项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)–技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个静 ...

随机推荐

  1. 解决Command "laravoole" is not defined.

    版权声明:本文为博主原创文章,未经博主允许不得转载.  GitHub地址:https://github.com/garveen/laravoole 先来执行正常的安装流程: 安装 要开始,将larav ...

  2. 不使用库函数,编写函数int strcmp(char *source, char *dest) 相等返回0,不等返回-1;

    答案:一. int strcmp(char  *source, char *dest) { /* assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stder ...

  3. 【BZOJ3779】重组病毒 LCT+DFS序

    [BZOJ3779]重组病毒 Description 黑客们通过对已有的病毒反编译,将许多不同的病毒重组,并重新编译出了新型的重组病毒.这种病毒的繁殖和变异能力极强.为了阻止这种病毒传播,某安全机构策 ...

  4. iOS 蓝牙开发之(CoreBlueTooth)

    CoreBlueTooth 简介: 可用于第三方的蓝牙交互设备 设备必须支持蓝牙4.0 iPhone的设备必须是4S或者更新 iPad设备必须是iPad mini或者更新 iOS的系统必须是iOS 6 ...

  5. appium报'Command 'D\:\\android-sdk-windows\\platform-tools\\adb.exe -P 5037 -s “adb device” shell pm clear appPackage' exited with code 1'

    解决方法:是因为手机开发者模式没有允许USB调试(安全模式),打开即可

  6. 如何判断移动终端访问还是PC访问?

    我们经常需要知道访问网站的设备是移动终端还是PAD还是PC,下面给出判断的java代码供参考.实现的原理就是获取HTTP消息头里User-Agent和x-wap-profile,User-下面是Use ...

  7. 快照COW

    What is Copy-on-write? Copy-on-write      Copy-on-write (sometimes referred to as "COW") i ...

  8. butterknif

    // butterknife public class ButterknifeActivity extends Activity { @butterknife.Bind(R.id.tv_title) ...

  9. Sqoop架构以及应用介绍

    本篇文章在具体介绍Sqoop之前,先给大家用一个流程图介绍Hadoop业务的开发流程以及Sqoop在业务当中的实际地位.  如上图所示:在实际的业务当中,我们首先对原始数据集通过MapReduce进行 ...

  10. vim 真是上瘾啊

    再次更新 .vimrc " leaderlet mapleader = ","nnoremap <leader>ev :vsplit ~/.vimrc< ...