在服务器(CentOS)上使用 git 部署项目

简介:

主要流程:

  • 本地 git push 至 git 仓库更新代码。
  • 服务器上 git pull 从 git 仓库获取更新。

这里的 git 仓库有两种方式实现:

  • 使用第三方 gitlab 存储与管理代码。
  • 在服务器上搭建自己的 git 仓库来存储与管理代码。

使用 gitlab 网络可能会比较慢:D

方式一:使用 gitlab 仓库

  1. 服务端使用 yum 全局(-y)安装 git 。
$ yum -y install git
  1. 客户端(mac)安装 git。

如果你的 mac 还没有安装过 git,只需要打开终端,输入 git,系统会自动提示你安装 git ~

  1. 客户端(win)安装 git。

在 windows 上需要下载 git 安装包,这里提供官网的地址(git官网下载),安装即可。

  1. 查看 git 安装版本:
$ git --version

mac 上打开终端(command + 空格,搜索“终端”);

win 上打开 git 客户端;

  1. 服务端与客户端创建 git 用户。
# 配置用户名与邮箱
$ git config --global user.name "yourname"
$ git config --global user.email "youremail"

# 生成 ssh 密钥
$ ssh-keygen -t rsa -C "youremail"

# mac 查看 ssh 密钥
$ cat ~/.ssh/id_rsa.pub

# win 的密钥文件在 /User/yourname/.ssh/id_rsa.pub

~/.ssh/id_rsa.pub 文件内容全部复制到 gitlab.com [setting -> SHH-keys -> key] 中,保存。然后在本地查看是否连接成功:

$ ssh -T git@gitlab.com
  1. 在 gitlab 上创建项目,复制 ssh 地址,服务端客户端上克隆这个地址就可以了。

方式二:在服务器上搭建 git 仓库

  1. 服务端使用 yum 全局(-y)安装 git 。
$ yum -y install git
  1. 创建服务端的用户:git。
# 在 /usr/home/ 创建用户 git 的目录
# 这个目录等会还会存储来自客户端的 ssh-keys
$ cd /usr/home
$ useradd git
$ passwd git
  1. 配置用户 git 的权限。
# 禁用 git 用户 shell 登陆
$ vi /etc/passwd

# 修改为如下,一般在最后一行:
git:x:1000:1000::/home/git:/usr/bin/git-shell
  1. 创建一个 git 仓库。
# 在 /usr/local/git 下创建 test 项目
# 创建一个目录 git 作为所有的项目文件夹
$ cd /usr/local
$ mkdir git

# 创建 test 项目仓库
$ git init --bare test.git
  1. 分配 git 仓库的权限。
$ chown -R git:git test.git
  1. 服务器上加入客户端的 git 密钥。
# 本地查看密钥复制文件所有内容
$ cat ~/.ssh/id_rsa.pub

# 服务端打开 /home/git/.ssh/authorized_keys 文件
# 将复制内容粘贴进去,保存退出
$ vi /home/git/.ssh/authorized_keys

/home/git/.ssh/ 的 .ssh 目录需要自己创建。

  1. 客户端克隆服务器上的项目。
$ git clone git@xxx.xx.xxx.xx:/usr/local/git/test.git

输入 git 用户的密码就可以了。

  1. 服务端克隆项目。
# 进入你的项目文件夹
$ cd /data
$ git clone git@127.0.0.1:/usr/local/git/test.git

以后更新代码就在 /data/test 目录下 git pull 一下。

附录:git 常用命令

  • git status 查看当前变更的文件。
  • git add . 将所有变更本地缓存。
  • git commit -m '更新说明' 添加本次更新的说明。
  • git push 推送本地的更新至远程分支。
  • git pull 获取远程分支的的更新。
相关文章
|
19天前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
177 80
|
18天前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
119 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
19天前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
53 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
20天前
|
Linux 开发工具 数据安全/隐私保护
搭建 Git 私人服务器完整指南
本文详细介绍了如何从零开始搭建一个私人的 `Git` 服务器。首先,文章解释了 `Git` 的概念及其优势,并阐述了搭建私人 `Git` 服务器的重要性,包括数据隐私、定制化需求及成本效益。接着,文章分步骤指导读者完成服务器的准备工作,包括操作系统、硬件和网络要求。随后,详细介绍了在不同操作系统上安装 `Git` 的方法,并演示了如何创建 `git` 用户、部署仓库以及设置免密登录。此外,还提供了客户端连接远程仓库的具体步骤,包括 Linux 和 Windows 的操作方式。最后,文章探讨了迁移仓库的方法以及搭建 `Git` 服务器的一些进阶选项。
54 0
搭建 Git 私人服务器完整指南
|
18天前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
53 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
23天前
|
Linux 数据安全/隐私保护 网络虚拟化
centos7部署Pritunl
centos7部署Pritunl
|
23天前
|
Linux 数据安全/隐私保护 虚拟化
centos7部署openVPN
centos7部署openVPN
|
23天前
|
SQL 分布式计算 Hadoop
centos7通过CDH部署Hadoop
centos7通过CDH部署Hadoop
|
11天前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
9天前
|
编解码 前端开发 安全
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
在我们选购阿里云服务器的过程中,不管是新用户还是老用户通常都是通过阿里云的活动去买了,一是价格更加实惠,二是活动中的云服务器配置比较丰富,足可以满足大部分用户的需求,但是面对琳琅满目的云服务器实例、带宽和云盘选项,如何选择更适合自己,成为许多用户比较关注的问题。本文将介绍如何在阿里云的活动中选择合适的云服务器实例、带宽和云盘,以供参考和选择。
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘