git 自动化部署

环境

软件

  1. git

  2. ssh

用户环境

首先要明确这里会用到的概念。 本地仓库, vps的中心仓库,vps的本地仓库。

这里vps上会用到两个git仓库,一个是git中心仓库(裸库),一个用于部署的仓库。

我们为了区分两个仓库,同时也跟上标准做法。 所以将中心仓库建在git用户目录下

vps中心仓库

  1. 创建git组

groupadd git

  1. 创建git跟相关目录

useradd -m -g git -G git -s /bin/bash git

  1. 在git目录下建立.ssh/authorized_keys

将你本地的ssh的pub贴在里面,方便本地代码推到vps的中心仓库时不需要输密码(所以这步不是必须的)

  1. 创建中心仓库

mkdir -p repo/your_repr

cd repo/your_repr

git init --bare

根据上面这样创建的话,中心仓库的地址是: git@ip:repo/your_repo

  1. 在你本地添加远程仓库地址

git remote add vps git@ip:repo/your_repo

配置完后,后续你推送代码到 vps 这个远程仓库名时,就是自动部署了

vps的本地仓库

在此之前,需要先假定一些条件。 我们假设vps仓库是在另个一账户下创建,那么我们需要先去该账户下创建 ssh 的秘钥。 创建完后将该账户生成的pub文件中的内容复制到 /home/git/.ssh/authorized_keys 中

做完这些,这下用来部署的仓库就很简单了

git clone git@127.0.0.1:repo/your_repo

自动布署代码

在 git 账号下 执行

cd repo/your_repr/hooksvim post-receive

贴入下面代码:

# !/bin/shunset GIT_DIRdeployPath='/home/user/your_repo'cd $deployPathgit pull origin master

关键字:git, 仓库, vps, repo

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部