qd博客

海阔凭鱼跃,天高任鸟飞

Git自动化部署本地代码到线上项目目录

环境:

线上:CentOS 8 

本地:windows10 64

一.linux服务器操作

1.Linux 上安装git     


yum install git -y

2.添加用户git并设置一个密码

useradd -s /bin/bash git
passwd git

3.切换到git用户,创建git的代码仓库

su git
mkdir /home/git/project.git
cd /home/git/project.git
git init --bare


二.本地操作

1.生成秘钥并且将生成的公钥添加到服务器

ssh-keygen   // 一路回车


复制生成的key (当前用户下的.ssh/id_rsa.pub)


三.继续服务器操作

mkdir -p /home/git/.ssh
vim /home/git/.ssh/authorized_keys  //把上面复制的key粘贴进去,后保存退出
chown git:git -R /home/git/.ssh
chmod 600 /home/git/.ssh/authorized_keys //权限不要出错
chmod 755 /home/git/.ssh


四.本地初始化并且添加远程仓库

git init //初始化
git config user.email "xxxx@xx.com" //添加用户邮箱
git config user.name "xxx"   //添加姓名
touch test //创建文件
echo "test">>test  //添加文件内容
git add .
git commit -m 'add test'
git remote add xxx ssh://git@127.0.0.1:22/home/git/project.git
git push xxx master

五.自动化配置

当我们在本地git push的时候需要将代码推到线上的项目目录。

1.进入线上project.git目录

cd /home/git/project.git

2.进入hooks目录,并且拷贝钩子文件并重命名。

cp post-update.sample post-receive
vim post-receive

3.注释其他的代码。将以下内容复制进去。

unset GIT_DIR
cd /www/xxx 
git pull origin master
exit 0

将上面xxx换成项目目录,然后保存并退出。

4.进入上面的项目目录,没有目录就创建

如:mkdir -p /www/project

5.初始化仓库并且将仓库属主属组改为git,否则会出现权限问题。

git init
git config user.email "xxxx@xx.com" //添加用户邮箱
git config user.name "xxx"   //添加姓名
git remote add xxx /home/git/project.git
chown -R git:git project

6.然后测试在本地项目添加文件,推送到远程就会将项目也部署到线上项目目录了。

<< 1 >>
«   2020年6月   »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
搜索
最新留言
文章归档
友情链接
    控制面板
    您好,欢迎到访网站!
      查看权限

    Powered By Z-BlogPHP 1.6.4 Valyria

    (陕ICP备19025567号-2)

    召唤伊斯特瓦尔