使用 git 在服务器(CentOS)上部署项目
最编程
2024-03-14 14:47:20
...
主要流程:
- 本地
git push
至 git 仓库更新代码。 - 服务器上
git pull
从 git 仓库获取更新。
这里的 git 仓库有两种方式实现:
- 使用第三方 gitlab 存储与管理代码。
- 在服务器上搭建自己的 git 仓库来存储与管理代码。
使用 gitlab 网络可能会比较慢:D
方式一:使用 gitlab 仓库
- 服务端使用 yum 全局(-y)安装 git 。
$ yum -y install git
- 客户端(mac)安装 git。
如果你的 mac 还没有安装过 git,只需要打开终端,输入 git,系统会自动提示你安装 git ~
- 客户端(win)安装 git。
在 windows 上需要下载 git 安装包,这里提供官网的地址(git官网下载),安装即可。
- 查看 git 安装版本:
$ git --version
mac 上打开终端(command + 空格,搜索“终端”);
win 上打开 git 客户端;
- 服务端与客户端创建 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
- 在 gitlab 上创建项目,复制 ssh 地址,服务端客户端上克隆这个地址就可以了。
方式二:在服务器上搭建 git 仓库
- 服务端使用 yum 全局(-y)安装 git 。
$ yum -y install git
- 创建服务端的用户:git。
# 在 /usr/home/ 创建用户 git 的目录
# 这个目录等会还会存储来自客户端的 ssh-keys
$ cd /usr/home
$ useradd git
$ passwd git
- 配置用户 git 的权限。
# 禁用 git 用户 shell 登陆
$ vi /etc/passwd
# 修改为如下,一般在最后一行:
git:x:1000:1000::/home/git:/usr/bin/git-shell
- 创建一个 git 仓库。
# 在 /usr/local/git 下创建 test 项目
# 创建一个目录 git 作为所有的项目文件夹
$ cd /usr/local
$ mkdir git
# 创建 test 项目仓库
$ git init --bare test.git
- 分配 git 仓库的权限。
$ chown -R git:git test.git
- 服务器上加入客户端的 git 密钥。
# 本地查看密钥复制文件所有内容
$ cat ~/.ssh/id_rsa.pub
# 服务端打开 /home/git/.ssh/authorized_keys 文件
# 将复制内容粘贴进去,保存退出
$ vi /home/git/.ssh/authorized_keys
/home/git/.ssh/ 的 .ssh 目录需要自己创建。
- 客户端克隆服务器上的项目。
$ git clone git@xxx.xx.xxx.xx:/usr/local/git/test.git
输入 git 用户的密码就可以了。
- 服务端克隆项目。
# 进入你的项目文件夹
$ 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
获取远程分支的的更新。
推荐阅读
-
云服务器+家用电脑(无公网 IP)Pinode 节点部署教程--理论上,无论你身在何处,只要能上网,就能运行一个固定 IP 的 Pi 节点节点!(注:不能直接部署独立云服务器)本方案相对运营商公网 IP 有以下优势:拥有稳定的固定 IP(阿里云 IP),解决了运营商不分配公网 IP 或分配动态 IP 的问题 ②节点部署在本地电脑上,相对安全。因为是使用阿里云的专网,稳定性也很强。希望对大家有用,帮助大家解决没有公网的节点部署问题。第一步:环境准备 1、本地电脑配置: ①操作系统:推荐 WIN10 专业版(目前节点容器只支持 2004 专业版) ②内存:推荐 4G 及以上 建议:https://item.taobao.com/item.htm?spm=a2126o.success.0.0.61 b94831SbZESt&id=6346663414282,阿里云服务器租用:阿里云(推荐1核2G以上,ECS共享s6,带宽3-5M即可,以下两个链接都可以,选择一个合适的即可)https://www.aliyun.com/minisite/ goods?userCode=is7i4iav
-
在 Linux 服务器上安装 Web SSH - SSHwifty 的部署和使用
-
使用 git 在服务器(CentOS)上部署项目
-
在阿里云上快速部署Qcadoo开源MES(制造执行系统),使用CentOS教程
-
如何在CentOS 7下实现多台内网服务器共享同一本地yum源? 1. 将共享源服务器(IP: 192.168.100.111)上的yum源进行本地化配置; 2. 使用Nginx为共享源服务器提供外部访问地址; 3. 在其他内网服务器上配置共享源服务器的地址。 共享源本地yum源的配置: 1. 在服务器上创建目录并备份原有yum源文件: ``` mkdir /data/{centos-yum.bak,centos,centos-images} mv /etc/yum.repos.d/* /data/centos-yum.bak/ 上传镜像文件到服务器: mv CentOS-7-x86_64-DVD-1810.iso /data/centos-images/ 挂载镜像文件: mount -o loop -t iso9660 /data/centos-images/CentOS-7-x86_64-DVD-1810.iso /data/centos #取消挂载 umount /data/centos ``` 2. 创建repo文件: ``` vim /etc/yum.repos.d/my.repo [my] name=my baseurl=file:///data/centos enabled=1 gpgcheck=0 ``` 3. 制作缓存: ``` yum clean all yum makecache ``` 4. 查看详细信息: ``` [root@omnis-server data]# pwd /data [root@omnis-server data]# ls centos centos-images centos-yum.bak [root@omnis-server data]# cd centos [root@omnis-server centos]# pwd /data/centos [root@omnis-server centos]# ls CentOS_BuildTag EFI EULA GPL images isolinux LiveOS Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 TRANS.TBL ```
-
如何在服务器上使用Nginx部署前端项目?
-
在Windows上使用Nginx部署Java项目
-
如何在CentOS上设置本地YUM服务器?- 引言 注意:虽然在CentOS中可以直接使用YUM源,但在某些情况下,您可能需要搭建一个本地YUM源以解决RPM包之间的依赖关系问题。本篇文章将详细介绍如何在CentOS 6.x系统上设置本地YUM服务器。
-
如何使用Travis CI自动将Github项目的改动部署到服务器上?
-
使用Softether在CentOS上搭建虚拟私人网络(VPN)服务器