首页 > 其他分享 >git服务器搭建过程以及遇到的问题

git服务器搭建过程以及遇到的问题

时间:2023-04-03 14:03:31浏览次数:48  
标签:git dist 用户组 usr 服务器 post local 搭建

git 自动化部署

在 Git 服务器上为用户配置 SSH 公钥

git@Linux:~$ mkdir .ssh
git@Linux:~$ touch .ssh/authorized_keys
git@Linux:~$ chmod 600 .ssh/authorized_keys 
git@Linux:~$

authorized_keys 文件可以保存多个用户的 SSH 公钥,所有公钥被添加到这个文件中的用户,就都可以使用 SSH 公钥的方式进行身份认证而不再需要通过密码的方式认证了。

1.找到本地 git 公钥

这个在你的用户名下面有个 ssh 文件夹,里面有两个文件

2.给服务器安装 git


3.服务器 git 相关配置

服务器创建 git 用户组

groupadd git

建立用户账户

useradd git -g git

给用户账户设置密码

passwd git

如果以上无法实现,就看看有没有相同名字的用户组和用户

查看所有用户组信息

tail /etc/group

查看所有用户组群加密信息

tail /etc/gshadow

可以看到我们注册的用户组 git 和用户 git

我们来删除已经存在的 git 用户组和用户名 git

# 删除用户组
groupdel git
# 删除用户
userdel git

当我们执行命令的时候发现无法删除

下面是解决办法

Linux 无法使用 userdel 删除用户和 groupdel 删除组的解决办法

这里我们要使用 vipw 去删除

先执行

sudo vipw

这会出来用户组的那个 /etc/passwd

我们在底下可以看到 git

按 a 进入编辑状态,到底下把 git 那一栏删除

然后我们按 esc 退出编辑状态,然后 shift + : 输入 wq! 强制更改并退出

它会提示出于一致性的考虑,您可能需要修改 /etc/shadow

然后我们就输入

sudo vipw -s

然后同样的步骤去删除就可以了

至此我们在去创建就不会出现同名的问题了

1. 在服务器上

在 /usr/local/nginx/html 执行如下命令初始化 dist.git 裸库

git init --bare dist.git

并克隆它

git clone /usr/local/nginx/html/dist.git

然后给这两个文件夹的权限

chown -R git:git dist.git
chown -R git:git dist

进入 /usr/local/nginx/html/dist.git/hooks/ 下面新建 post-receive 文件并编辑它

touch post-receive
vim post-receive

在里面写入如下内容

#!/bin/sh

unset GIT_DIR  #很关键

NowPath=`pwd`

DeployPath="/usr/local/nginx/html/dist" #存放项目的文件夹位置

# LogPath="/usr/local/nginx/html/kk/keep.git/hooks" 

cd $DeployPath


git add . -A && git stash
git pull origin main


#  >> $LogPath/gitsync.log 2>&1

# composer install --ignore-platform-reqs

cd $NowPath

echo "同步完成"

exit 0

post-receive 文件权限改成 git 用户权限:

chown -R git:git post-receive

post-recrive 文件添加上运行权限:

chmod +x post-receive

然后到 /usr/local/nginx/html 给 dist 文件夹权限

chmod -R 777 dist/

标签:git,dist,用户组,usr,服务器,post,local,搭建
From: https://www.cnblogs.com/Nhenk/p/17282850.html

相关文章

  • 【环境搭建】docker+nginx部署PHP
    目的使用docker容器完成nginx的安装以及部署PHP网页步骤一、安装nginx1.拉取Nginx镜像dockerpullnginx//拉取镜像dockerimages//查看本地镜像这里注意需要记一下nginx的IMAGEID,我这里的ID是605c2.创建Nginx容器dockerrun......
  • 230123-Git命令行代理及加速设置
    ⭐️方法1:设置全局国内/国外代理gitconfig--globalhttp.proxyhttp://127.0.0.1:XXXXgitconfig--globalhttps.proxyhttp://127.0.0.1:XXXX⭐️方法2:仅设置github的代理gitconfig--globalhttp.https://github.com.proxyhttp://127.0.0.1:XXXXgitconfig--globalhttp......
  • 六位一体Serverless化应用,帮你摆脱服务器的烦恼
    随着互联网技术的飞速发展,越来越多的应用横空出世,是以不可避免带来了大量的服务器需求。大部分的开发者都选择购买或者租用服务器,然而这样也带来了诸多的烦恼。1.硬件成本高昂购买服务器费用昂贵,除了基础的购买费用外,服务器对机房也有苛刻的要求,温度、湿度、防震等等的高要求都需要......
  • GitHub 入门(中文教程)
    GitHub官网参考文献:GitHub的PullRequest是指什么意思?参考问下:GitHub中的PullRequest和Pulse详解......
  • Git 创建新分支
    Git在master主分支中创建新分支一、在已经是git的master目录上,右键创建新分支 二、选择分支    三、提交  注意:查看要提交的文件是否被选中    ......
  • git新增本地分支以及提交本地分支到远程;git删除本地分支以及远程分支;
    新增本地分支gitcheckout-b本地分支名称提交本地分支到远程gitpush-uorigin本地分支名称删除本地分支gitbranch-D本地分支名称删除远程分支gitpushorigin--delete远程分支名称......
  • React Native 开发环境搭建
    一、React Native介绍二、开发环境的搭建2.1、Node.js安装Node.js要求14版或更新https://nodejs.org/en 查看版本:2.2、yarn安装2.3、react-native-cli安装安装项目:命令:2.4、下载Chocolatey包管理器在Linux下,大家喜欢用apt-get来安装应用程序,如今在windows下......
  • 汇总Linux、Git命令、工具
    基本命令uname-m显示机器的处理器架构uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件hdparm-tT/dev/sda在磁盘上执行测试性读取操作系统信息arch显示机器的处理器架构uname-m显示机器的处理器架构hdparm-i/dev/hda罗列一个磁盘的架构特性cat......
  • git使用方法
     gitconfig--globaluser.name"yourname"gitconfig--globaluser.email"[email protected]"如果需要使用HTTPS协议在本地与远程仓库之间进行数据传输,可以用以下命令配置客户端记住密码,避免每次都输入密码。gitconfig--globalcredential.helperstore要检......
  • CentOS7服务器2T及2T以下磁盘挂载
    CentOS7服务器2T及2T以下磁盘挂载目录CentOS7服务器2T及2T以下磁盘挂载0.环境信息1.详细挂载步骤1.1.查看当前系统磁盘使用情况1.2.查看是否有未知硬盘未挂载1.3.分区1.3.1.依次输入以下命令1.4.格式化分区1.5.挂载硬盘1.5.1.创建挂载目录——挂载点/挂载位置1.5.2.挂载硬......