在[原创: 云服务器实战系列3] 基础软件安装&环境配置中, 我们已经完成了对Centos7中基础的软件环境搭建. 此时我们将进行项目开始前的准备工作:
- 在云服务器中创建git库, 用于存储代码
- 本地克隆
- 创建基本的前后端代码
- 完成云服务器端git hook相关配置, 以实现代码提交后能够自动执行相关部署工作
Git Server配置免密登录
1. 客户端生成公钥
打开Git bash, 输入以下指令:
ssh-keygen -t rsa -C
此时, 会在~/.ssh/目录下生成一个默认的id_rsa.pub文件.
2. Centos7 服务器端配置
这里省略了git的安装过程, 相关安装过程可以参考: [原创: 云服务器实战系列3] 基础软件安装&环境配置
在云服务器端执行以下操作
1) 创建git用户
adduser git
2) 配置git用户的ssh访问设置
cd /home/git
mkdir .ssh
3) 创建.ssh文件夹
chmod 700 .ssh
将.ssh文件夹权限设为700, 即允许本用户和root用户拥有读, 写, 执行权限
4) 在.ssh文件夹内创建authorized_keys
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
5) 将文件夹授权给git用户和git组
cd /home
chown -R git:git git
6) 将存放git库文件夹归为git所有
chown git:git /usr/local/projects/*
7) 禁用shell登录
如果希望git用户不能登录shell,就要修改git用户的权限.
vi /etc/passwd
将
git:x:1000:1000::/home/git:/bin/bash
改为
git:x:1000:1000::/home/git:/bin/git-shell
8) 将第2步在客户端生成的公钥写入/home/git/.ssh/authorized_keys 文件内
vi /home/git/.ssh/authorized_keys
将客户端生成的公钥文件id_rsa.pub内容插入到authorized_keys
3. 在云服务器创建git库
[account@yunServer projects]# git init --bare bt_django.git
Initialized empty Git repository in /usr/local/projects/bt_django.git/
[account@yunServer projects]# git init --bare ft_vue.git
Initialized empty Git repository in /usr/local/projects/ft_vue.git/
[account@yunServer projects]# dir
bt_django.git ft_vue.git
[account@yunServer projects]# chown -R git:git /usr/local/projects/*
4. 本地克隆代码
James@James-PC MINGW64 /d/Projects
$ git clone git@120.x.x.1:/usr/local/projects/bt_django.git
Cloning into 'bt_django'...
warning: You appear to have cloned an empty repository.
James@James-PC MINGW64 /d/Projects
$ git clone git@120.x.x.1:/usr/local/projects/ft_vue.git
Cloning into 'ft_vue'...
warning: You appear to have cloned an empty repository.
Git Server hook配置
1. 初始化django工程以及云服务器django部署环境搭建
详细的步骤, 请阅[原创: 云服务器实战系列6] CentOS7 + Python3 + Django + Mysql部署环境搭建&django项目初始化
2. git hook配置
!未完, 待续!