Git 是一个版本管理系统,很多企业和团队都用 Git 来管理自己的代码库、进行协作。这样一是实现了版本控制,任何一项提交的改动都可以迅速恢复,不需要再担心手残搞坏网站的问题;二是为团队协作提供便利。Git 提供了很多 Hook,可以让我们在进行完某个 Git 操作之后,自动执行一些命令,使用这些 Hook,我们可以直接通过 Git 来发布网站。下面我们来简要的说明一下利用 Git 自动部署 WordPress 站点到服务器的主要步骤。
在默认用户的主目录路径下,运行以下命令,按照提示创建公钥和私钥:
ssh-keygen -t rsa
默认生成2048位,如果需要提高安全级别,也可以通过下面的命令创建公钥和私钥:
ssh-keygen -t rsa -b 4096
默认情况下,公钥和私钥会保存在~/.ssh目录下,如下所示:
id_rsa id_rsa.pub known_hosts
一定要保存好这一对密钥,特别是私钥、绝对不能泄露出去,把公钥里面的内容添加到服务器的
~/.ssh/knwn_hosts文件中,
id_rsa下载到本地,供我们通过密钥认证访问服务器的时候使用。
Gogs 目前可能是安装配置最简单的 Git 服务器了,整个安装过程只需要一个命令。
sudo rpm --import https://rpm.packager.io/key echo "[gogs] name=Repository for pkgr/gogs application. baseurl=https://rpm.packager.io/gh/pkgr/gogs/centos6/pkgr enabled=1" | sudo tee /etc/yum.repos.d/gogs.repo sudo yum install gogs
然后访问
http://你的服务器ip:3000来访问Gogs基于 Web 界面的 Git 仓库管理工具,简单的设置之后,我们就可以创建自己的 Git 仓库了,这一步基于一个类似 WordPress 的 Web 安装界面,非常简单,这里就不多说了。
通过 Git 提交网站更新后,我们可以通过 Git 的
post-receive hook来更新自动检出更新的代码就可以了,编辑 Git 仓库中的
hooks/post-receive,复制下面的代码到这个文件中、并根据自己的实际情况修改。
#!/bin/sh site=/home/wwwroot/wpzhiku.com //这是服务器上网站的根目录 export GIT_WORK_TREE=$site git checkout -f
以上4步进行完之后,整个基于 Git 发布网站的流程已经设置好了,我们只需要检出仓库,然后把 WordPress 站点放进去,然后提交更新、很快,服务器上的代码就自动更新了,非常方便。
Via:@WordPress 智库