git章节---部署与使用(第一节)

Linux服务器git的部署与自动化同步

环境

服务端 
	git version 1.8.3.1
	CentOS Linux release 7.5.1804
客户端
	git version 2.20.1
	Window 10
	mac

安装流程

服务端安装
	yum install -y git
查看版本
	git --version
	git version 1.8.3.1
创建用户(服务端)
	useradd git
	passwd git
	注:
		可查看用户是否创建成功
		cat /etc/passwd
		
在客户端创建RSA密钥 (公钥,密钥)
	mac 
		ssh-keygen
		注:输入该命令后会显示如下, 回车即可
			Enter passphrase (empty for no passphrase):
			Enter same passphrase again:
		
	window  
		ssh-keygen -t rsa -C "git的用户名"
		回车即可
		Enter file in which to save the key (/c/Users/xxx/.ssh/id_rsa):
		Enter passphrase (empty for no passphrase):
		Enter same passphrase again:
		第一次执行git命令时可能会出现以下提示, 输入yes急可
		注: 
			The authenticity of host '101.34.xx.xxx (101.34.xx.xxx)' can't be established.
			ECDSA key fingerprint is SHA256:vKbTX6sTbhTzNMJTg47uU0FhX7Wm9Jn+pLeyCBgvmiM.
			Are you sure you want to continue connecting (yes/no)?

服务端配置公钥(服务端)
	cd /home/git
	mkdir .ssh
	chmod 700 .ssh
	cd .ssh 
	mkdir authorized_keys
	chmod 600 authorized_keys
	chown -R git:git .ssh

	添加公钥, 将在本地生成的公钥进行复制
	vim .ssh/authorized_keys

创建git仓库(服务端)
	mkdir -p /home/git/gittest	(创建文件)
	git init --bare /home/git/gittest  (初始化git仓库)
		Initialized empty Git repository in /home/git/gittest  (表示初始化成功)
	cd /home/git 
	chown -R git:git gittest (给用户增加操作文件权限)
	或
	sudo chown -R git:git gittest
客户端安装
	安装地址	
		https://git-for-windows.github.io/
	查看版本
		git version 2.20.1
	新建本地代码库
		mkdir gittest
		cd gittest
	克隆linux上的代码库
		git clone git@101.34.xxx.xx:/home/git/gittest gittest
		ssh 非22端口
		git clone ssh://git@101.34.xxx.xx:port/home/git/gittest gittest
	在本地添加文件并向代码库推送
		git pull
		git add .
		git commit -m "first submit"
		git push origin master
		注: 
			第一次提交可能会提示不同信息, 因为代码库为裸库, 故第一次提交需要写全(git push origin master)

目前git仓库的更新与推送已实现 但这显然是不够的,在日常开发过程中,常见的开发流程是本地开发-完成后通过版本管理器进行发布然后在测试校验。我们接下来就实现自动化同步

自动化部署

实现原理:
自动化部署使用的是git的钩子, 在钩子中配置所要同步的文件路径, 从而实现在本地代码提交时同步文件

	切换目录
		cd /home/git/gittest/hooks (git仓库目录)
		vim post-receive		   (新建文件)
		编写如下命令
			#!/bin/bash
			配置所要同步的文件路径, /home/www(指向路径, 根据情况而定)
			git --work-tree=/home/www checkout -f
			保存并退出
		chown git:git post-receive	(给用户增加文件权限)
		注:
			若将本地文件提交后, 未进行文件同步请查看同步目录是否有权限,若没有增加即可 chmod 755 /home/www
		至此自动化配置完成
			

可能遇见的问题

	,在git服务端配置公钥后克隆、拉取、提交代码仍需要输入密码
		首先查看服务端ssh配置以下配置项是否开启
			在/etc/ssh/sshd_config中进行配置变更
			  RSAAuthentication yes
			  PubkeyAuthentication yes
			  AuthorizedKeysFile .ssh/authorized_keys
		
		如果还不行,在客户端进行配置制定公、私钥算法
			Host *
			ServerAliveInterval 60
			HostkeyAlgorithms +ssh-rsa
			PubkeyAcceptedAlgorithms +ssh-rsa

补录
1,第一节 GIt部署与使用
2,第二节 GIt常用命令

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值