利用 Git 在仓库提交后自动部署 WordPress 站点到服务器

文 / @WordPress主题

Git自动部署WordPress站点到服务器

很多企业和团队都使用Git来管理自己的代码库、进行协作。Git提供了很多Hook,可以让我们在进行完某个Git操作之后,自动执行一些命令,使用这些Hook,我们可以直接通过Git来部署网站。下面我们来简要的说明一下利用Git自动部署WordPress站点到服务器的主要步骤。

1、安装openssh服务器

很多服务器都已经内置了SSH服务器和客户端,一般情况下,这一步都是可以省略的。

sudo yum install openssh-server openssh-client

2、创建个人公钥和私钥

在默认用户的主目录路径下,运行以下命令,按照提示创建公钥和私钥:

ssh-keygen -t rsa

默认生成2048位密钥,如果需要提高安全级别,也可以通过下面的命令创建公钥和私钥:

ssh-keygen -t rsa -b 4096

默认情况下,公钥和私钥会保存在~/.ssh目录下,如下所示:

id_rsa id_rsa.pub known_hosts

一定要保存好这一对密钥,特别是私钥、绝对不能泄露出去,把公钥里面的内容添加到服务器的~/.ssh/knwn_hosts文件中,id_rsa下载到本地,供我们通过密钥认证访问服务器的时候使用。

3、使用Gogs配置Git服务器

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安装界面,非常简单,这里就不多说了。

4、Git仓库更新的时候自动检出、更新服务器上面的网站代码

通过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站点放进去,然后提交更新,很快,服务器上的代码就自动更新了,非常方便。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。