在服务器(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 获取远程分支的的更新。
相关文章
|
2月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
506 5
|
2月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
166 17
|
3月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
438 13
|
3月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
265 0
监控 安全 Linux
138 0
|
3月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
1150 2
|
3月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
611 16
|
4月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
361 10