git 自动化部署
环境
软件
git
ssh
用户环境
首先要明确这里会用到的概念。 本地仓库, vps的中心仓库,vps的本地仓库。
这里vps上会用到两个git仓库,一个是git中心仓库(裸库),一个用于部署的仓库。
我们为了区分两个仓库,同时也跟上标准做法。 所以将中心仓库建在git用户目录下
vps中心仓库
- 创建git组
groupadd git
- 创建git跟相关目录
useradd -m -g git -G git -s /bin/bash git
- 在git目录下建立.ssh/authorized_keys
将你本地的ssh的pub贴在里面,方便本地代码推到vps的中心仓库时不需要输密码(所以这步不是必须的)
- 创建中心仓库
mkdir -p repo/your_repr
cd repo/your_repr
git init --bare
根据上面这样创建的话,中心仓库的地址是: git@ip:repo/your_repo
- 在你本地添加远程仓库地址
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
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!