自动化部署项目至服务器

什么事情最麻烦,不是敲代码,不是改bug,不是讨论需求,而是部署项目,重复的操作是我们所厌烦的,今天,也来搞一下自动部署。
  • 首先你要有一台服务器
  • 安装好 git

创建用户

1
2
useradd git
passwd git

创建一个仓库

1
2
cd /var/git
git init --bare test.git

到这里请先看 添加钩子

1
chown -R git:git test.git/

添加钩子

到仓库的钩子目录下创建 post-receive 文件(温馨提示:使用 vim 创建该文件,否则有可能不识别该文件/(ㄒ o ㄒ)/~~)

1
2
3
cd /var/git/test.git/.git/hooks

vim post-receive

输入内容 可根据自己的需要调整

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh
echo "================开始自动部署================"
# 在 git pull 的时候提示 Not a git repository: ‘.‘ 添加这一行
unset GIT_DIR

DeployPath="/var/www/test"

cd $DeployPath

git fetch --all

git reset --hard origin/master
# 重启项目
echo "================自动部署完成================"

vim 的输入方式: i 切换到输入模式

vim 的保存方式: :wq Enter

修改文件权限 (可运行)

1
2
# chmod +x post-receive
chmod -R 755 post-receive

项目文件夹

1
2
3
4
5
cd /var/www/test

git clone /var/git/test.git

# 运行项目

拉到本地

1
git clone git@{Your IP}:/var/git/test.git

你在 push 的时候回看到 开始自动部署... 等字样

如有错误,敬请指正。

参考:https://git-scm.com/book/zh/v2

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!
0%