美文网首页python学习实践程序员
云服务器之密钥认证和git hook配置

云服务器之密钥认证和git hook配置

作者: 小奚有话说 | 来源:发表于2017-08-07 18:45 被阅读26次
本地操作系统:mac os
远程服务器操作系统:ubuntu14.04 64位

密钥认证

每次登陆云服务器时需要输入密码,这样很麻烦。这个时候需要进行密钥认证即可。

  1. 首先在本地生成密钥
ssh-keygen

输入该命令之后,将你的用户根目录下面的.ssh的id_rsa.pub中内容复制到远程服务器根目录下的.ssh的authorized_keys文件中。然后通过ssh进行连接,你会发现不需要密码了。

git hook配置

由于远程云服务器编写代码不太方便,所以需要本地编写代码然后上传到服务器,如果将代码上传到github上则不是很方便,经过一番查找,发现一个简单的方法,通过git hook进行远程仓库进行配置,可以进行服务器的自动部署。

  1. 首先在服务器建立远程仓库
$ cd /opt/git
$ mkdir skynet
$ git init --bare

我在/opt/git/skynet文件目录下初始化了一个空的远程仓库

  1. 在本地连接远程仓库
$ cd ~/workspace/skynet
$ git init
//创建一个文件,写点内容
$vim REDAME
$git add .
$git remote add origin root@example.com:/opt/git/skynet
$git commit -m "first commit"
$git push origin master

在本地创建了一个工作空间,skynet正是本地代码库,然后git remote add是添加远程仓库,远程仓库格式为:远程连接域名+仓库地址。
最后提交即可

  1. 创建远程代码库,并编写脚本自动更新
git clone /opt/git/skynet /var/www/skynet

这段代码是在/var/www/skynet文件夹下创建远程代码库
编写post_receive文件进行脚本自动更新

$ cd /opt/git/skynet/hooks
$ vim post_reveive

编写/opt/git/skynet/hooks/post_reveive文件

#!/bin/sh
DeployPath="/var/www/skynet"
unset GIT_DIR
cd $DeployPath

git pull

最后赋给post_receive权限

$ chmod -x post_receive

这样你在本地编写代码,然后通过push提交后,就会在/var/www/skynet下看到代码更新了。
当然git hook的功能并只是这么简单。可以看一下hooks文件夹下的文件

applypatch-msg.sample  pre-applypatch.sample      pre-rebase.sample
commit-msg.sample      pre-commit.sample          update.sample
post-receive           prepare-commit-msg.sample
post-update.sample     pre-push.sample

以.sample是不起作用的,可以看到hook下有很多.example文件,可以针对代码提交过程的前后进行代码操作。具体的功能到需要用到的时候再解释。

相关文章

  • 云服务器之密钥认证和git hook配置

    密钥认证 每次登陆云服务器时需要输入密码,这样很麻烦。这个时候需要进行密钥认证即可。 首先在本地生成密钥 输入该命...

  • Git 仓库搭建

    创建git新用户管理git仓库 创建git用户并配置 生成密钥(在电脑的shell中执行) 密钥配置(在服务器配置...

  • 手把手教你入门git仓库和关联码云

    gitHub(国外)和Gitee(码云,国内的) 环境配置教程 注册码云账号和git安装教程的具体指导(生成密钥,...

  • Git - 生成 SSH 公钥

    生成 SSH 公钥 许多 Git 服务器都使用 SSH 公钥进行认证。 首先,你需要确认自己是否已经拥有密钥。 默...

  • Git与SSH

    许多Git服务器都是用HTTP和SSH,本文介绍使用SSH时候的相关配置 首先确认是否已经拥有密钥,默认 SSH密...

  • mac下查看&生成密钥

    配置github的ssh密钥 在终端或git bash中执行命令 查看本机是否已经配置过密钥 生成密钥 复制密钥 ...

  • SUBGIT镜像远程SVN仓库到本地

    更改subgit配置 6.1. 编写hook为了使svn和Git仓库之间进行同步,Subgit 将如下hook装入...

  • Git常见配置和命令以及如何连接Github

    Git教程 安装git 前往Git官网下载并安装git Git配置 Git生成密钥

  • 学习小组Day2笔记-姜洪利

    一、云服务器获取与配置 1. 云服务器申请 阿里云有申请限制,华为云配置过不去,腾讯云可申请。 实名认证过就可以了...

  • Config:客户端连接服务端访问远程-实战

    1. Git环境搭建 1.1 码云创建仓库 1.2 git配置用户信息 1.3 生成密钥 接着回车就可以生成 在....

网友评论

    本文标题:云服务器之密钥认证和git hook配置

    本文链接:https://www.haomeiwen.com/subject/yjbolxtx.html