在服务器使用Git部署和更新网站

1.前言

我之前通过coding page或者github page使用git来部署和更新网站非常方便,用上服务器后使用ftp感觉也不是很方便,就想着能不能在服务器端也使用git,毕竟git实在是太方便而且强大了。

接下来我们将以 Ubuntu 为例搭建 Git 服务器,并使用post-receive 钩子部署和更新。

2.过程

2.1Git 服务器搭建

2.1.1安装Git

确认你的系统是否已安装git,可以通过git指令进行查看,如果没有,在命令行模式下输入sudo apt-get install git命令进行安装。

2.1.2创建用户
sudo useradd git -m

使用该命令创建一个git用户,并同时在/home创建一个同名文件夹。

2.1.3创建证书登录

上一步为了安全没有设置密码,故采用更安全的证书登录。可使用ssh-keygen命令创建密钥对。

收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

如果没有authorized_keys文件就通过下面的命令创建它:

cd /home/git/
mkdir .ssh
chmod 755 .ssh
touch .ssh/authorized_keys
chmod 644 .ssh/authorized_keys
2.1.4初始化Git仓库

我们选定一个目录作为Git仓库

cd /home
mkdir gitrepo
chown git gitrepo/
cd gitrepo

git init --bare XXX.git

这样就创建好了一个空仓库,然后再将仓库归属改为git用户。

chown -R git XXX.git
2.1.5克隆仓库
git clone git@xxx.xxx.xxx.xxx:/home/gitrepo/XXX.git

在你本地电脑的合适位置运行上面的代码,将仓库克隆到本地文件夹。

2.2部署网站

2.2.1创建网站目录

例如我想把网站的文件夹放在/www/wwwroot目录内,可通过下面的命令进行创建和克隆。

cd /www/wwwroot
mkdir www.XXX.com
git clone git@127.0.0.1:/home/gitrepo/XXX.git www.XXX.com
//如果不是同一台主机,可像上面一样使用公网ip
chown -R git www.XXX.com
2.2.2创建钩子
cd /home/gitrepo/XXX.git/hooks
touch post-receive

在post-receive中写入如下内容

#!/bin/sh

WEBROOT=/www/wwwroot/www.XXX.com
git --work-tree=$WEBROOT checkout -f master
chmod -R 777 $WEBROOT

3.结语

至此,在服务器使用Git部署和更新网站已经的流程已经结束。教程默认已经简单熟悉git的相关命令,如果对git的后续操作还有疑惑,可参考官方文档Git - Documentation (git-scm.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux服务器部署Git,您可以按照以下步骤操作: 1. 安装Git软件包。您可以使用以下命令在Ubuntu上安装Git: sudo apt-get update sudo apt-get install git 2. 创建Git用户。您可以使用以下命令创建一个名为“git”的用户: sudo adduser git 3. 创建Git仓库。您可以使用以下命令在服务器上创建一个Git仓库: sudo mkdir /opt/git sudo chown git:git /opt/git cd /opt/git sudo git init --bare myrepo.git 4. 允许Git用户访问仓库。您可以使用以下命令将Git用户添加到仓库的访问列表中: sudo chown -R git:git /opt/git/myrepo.git sudo chmod -R 755 /opt/git/myrepo.git 5. 配置SSH访问。您需要在服务器上配置SSH访问,以便Git用户可以通过SSH协议访问仓库。您可以使用以下命令生成SSH密钥: sudo su - git ssh-keygen -t rsa 6. 将公钥添加到Git仓库。您可以使用以下命令将Git用户的公钥添加到仓库的授权密钥列表中: cat ~/.ssh/id_rsa.pub >> /opt/git/myrepo.git/authorized_keys 7. 在本地计算机上克隆仓库。现在,您可以在本地计算机上使用以下命令克隆Git仓库: git clone git@yourserver:/opt/git/myrepo.git 这些步骤应该能够帮助您在Linux服务器部署Git。 ### 回答2: 在 Linux 服务器部署 Git 首先需要安装 Git。可以通过以下命令在 Ubuntu 系统上安装 Git。 ```` sudo apt-get update sudo apt-get install git ```` 完成安装后,我们需要创建一个 Git 用户和组,用于 Git 服务运行。 ```` sudo addgroup --system git sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --ingroup git --disabled-password git ```` 考虑使用 SSH 公钥连接 Git 服务,因此需要先为 Git 用户创建一个 SSH 密钥对。 ```` sudo su - git ssh-keygen -t rsa ```` 接着需要将公钥存储在可以访问的地方。在这里我们使用 Git 的默认存储方式,将公钥添加到用户主目录下的 .ssh/authorized_keys 文件中。 ```` cat /home/git/.ssh/id_rsa.pub > /home/git/.ssh/authorized_keys ```` 现在我们可以测试 SSH 连接。 ```` ssh git@localhost ```` 如果提示如下信息,则说明 SSH 连接已经设置成功。 ```` Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-44-generic x86_64) * Documentation: https://help.ubuntu.com/ Last login: Fri Apr 15 22:33:31 2016 from 10.0.2.2 # 确保再次切换到主用户 ```` 接着需要为 Git 用户设置默认 shell 环境变量。 ```` sudo su nano /etc/passwd # 找到 `git:x:113:65534:Git Version Control:/home/git:/bin/bash`,将 `/bin/bash` 修改为 `/usr/bin/git-shell` ```` 完成了上述步骤后,我们可以通过 Git 客户端进行连接测试。 ```` git clone git@localhost:/srv/git/sample.git ```` 此时 Git 应该可以正常工作了。 以上就是在 Linux 服务器部署 Git 的步骤。请注意,部署 Git 仅作为参考,部署的步骤因系统版本、具体需要和个性化需求可能发生变化。请在进行部署时做好备份和相应的准备工作。 ### 回答3: 在Linux服务器部署Git是一个非常常见的任务。通过部署Git,您可以让开发人员更加轻松地进行代码的版本控制和管理。在下面的文章中,我将介绍如何在Linux服务器部署Git,包括安装、配置、创建和管理Git仓库等步骤。 一、 安装Git 在Linux服务器上安装Git非常简单,只需运行以下命令即可。 sudo apt-get update sudo apt-get install git 二、 配置Git 安装Git后,下一步是在服务器上配置Git。在配置Git之前,您需要设置自己的用户名和电子邮件地址。您可以使用以下命令来定义用户名和电子邮件地址。 git config --global user.name "Your Name" git config --global user.email "youremail@example.com" 三、 创建Git仓库 在服务器上创建Git仓库也很简单。只需在要存储代码的目录中运行以下命令即可。 cd /path/to/your/project git init 四、 添加和提交代码 创建Git仓库后,您需要将代码添加到仓库中并提交更改。为此,您可以使用以下命令。 git add . git commit -m "Initial commit" 五、 克隆现有的Git仓库 如果您需要在服务器使用现有的Git仓库,则可以克隆该仓库。要克隆仓库,请运行以下命令。 git clone your-git-repository-url 六、 Git分支管理 在Git中,您可以创建和管理不同的分支。要创建新分支,请使用以下命令。 git branch new-branch 要检查可用分支,请运行以下命令。 git branch 默认情况下,您将使用“主要”分支进行开发。如果您需要追踪其他分支,请使用以下命令。 git checkout branch-name 七、 合并分支 您可以合并两个不同的分支以将代码更改合并到主分支中。要合并分支,请使用以下命令。 git merge branch-name 八、 在Git中回滚代码更改 Git允许您回滚代码更改。如果您需要回滚代码,请使用以下命令。 git reset --hard commit-hash 九、 将Git仓库推送到远程服务器 一旦您在服务器上完成了必要的更改,您可以将Git仓库推送到远程服务器。要将Git仓库推送到远程服务器,请使用以下命令。 git push origin master 以上就是在Linux服务器部署Git的基本步骤,希望这些信息能够帮助您了解如何在Linux服务器上配置和使用Git
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值