[Node.js] 2、利用node-git-server快速搭建git服务器

本文用到了node-git-server

1、检测本地git版本

该包的使用需要机器上本来就安装git,且git的版本大于等于2.7:

1 ╭─[email protected] /home/workspace
2 ╰─# git --version                                                                                                                                       129 ↵
3 git version 2.7.4

2、利用npm安装包

 1 ╭─[email protected] /home/workspace
 2 ╰─# npm install node-git-server
 3 /home/workspace
 4 └─┬ [email protected]0.3.0
 5   ├─┬ [email protected]0.0.2
 6   │ ├── [email protected]0.0.2
 7   │ └── [email protected]1.0.2
 8   └── [email protected]2.3.8
 9
10 npm WARN enoent ENOENT: no such file or directory, open ‘/home/workspace/package.json‘
11 npm WARN workspace No description
12 npm WARN workspace No repository field.
13 npm WARN workspace No README data
14 npm WARN workspace No license field.

有警告可以先忽略~

3、编写example

cd ./node_modules/node-git-server/example/

编辑index.js

 1 const Server = require(‘node-git-server‘);
 2 const repos = new Server(‘/tmp/repos‘);
 3 const port = process.env.PORT || 80;
 4
 5 repos.on(‘push‘, (push) => {
 6     console.log(‘push ‘ + push.repo + ‘/‘ + push.commit
 7         + ‘ (‘ + push.branch + ‘)‘
 8     );
 9     push.accept();
10 });
11
12 repos.on(‘fetch‘, (fetch) => {
13     console.log(‘fetch ‘ + fetch.commit);
14     fetch.accept();
15 });
16
17 repos.listen(port, () => {
18     console.log(`node-git-server running at http://localhost:${port}`)
19 });

4、运行

1 ╭─[email protected] /home/workspace/node_modules/node-git-server/example
2 ╰─# node index.js
3 node-git-server running at http://localhost:80

5、测试git服务器

由于我的git服务器是在aliyun上跑的,并且绑定了www.beautifulzzzz.com,所以我先在本地新建一个git仓库,并将其推送同步到云端,然后再clone下来来做测试:

可见将本地git仓库同步到云端和普通的git服务器没有区别,简直太简单方便了!!!

同样git clone也比较简单!

6、云端git仓库的位置

在index.js中我们指定git仓库存放在:const repos = new Server(‘/tmp/repos‘);目录下

登录远程服务器可以发现在/tmp/repos/目录下存在我们同步的git仓库:(其中beep.git是之前push的一个)

1 ╭─[email protected] /tmp/repos
2 ╰─# ls
3 beautifulzzzz.git  beep.git

:: 如果您觉得不错,请推荐给更多人,帮助他们更快地解决实际问题中的坑~


@beautifulzzzz
智能硬件、物联网,热爱技术,关注产品
博客:http://blog.beautifulzzzz.com
园友交流群:414948975
时间: 2024-10-26 02:53:25

[Node.js] 2、利用node-git-server快速搭建git服务器的相关文章

Node.js入门:Node.js&NPM的安装与配置

Node.js安装与配置  Node.js已经诞生两年有余,由于一直处于快速开发中,过去的一些安装配置介绍多数针对0.4.x版本而言的,并非适合最新的0.6.x的版本情况了,对此,我们将在0.6.x的版本上介绍Node.js的安装和配置.(本文一律以0.6.1为例,0.6的其余版本,只需替换版本号即可.从http://nodejs.org/#download可以查看到最新的二进制版本和源代码). Windows平台下的Node.js安装 在过去,Node.js一直不支持在Windows平台下原生

【Node.js】初识Node.js

因组里项目需要,我和另外一名同事要学习Node.js.之前接触过Javascript,都是前台处理html时用到,现在要用Javascript做后端,学习Node.js,用一段时间专心学习一门新技术,而且还有项目实战锻炼,还不错. 一.  Node.js架构 1. Node.js跨平台支持*nix与Windows得益于Libuv中间层,通过它去调用不同操作系统的底层操作. 2. Node.js底层由C++实现,因此可以编写C++扩展模块,经封装后由JS调用,这样可以解决需要提升性能时(例如频繁的

linux上安装node.js ,npm,与karma--angularJS环境搭建

安装nodejs   搭建依赖环境 首先安装g++编译器与git,在终端输入如下命令 sudo apt-get install g++ curl libssl-dev apache2-utils sudo apt-get install git-core git如果已经安装则不需要再安装了. 2. 安装node.js 直接输入命令sudo apt-get install nodejs 安装的是0.6版本的,这个会出现问题,导致接下来安装js测试工具karma,出现问题. 所以用下载安装的方式,去

手把手搭建企业IT实战环境第三季:快速搭建SCCM1902服务器

手把手搭建企业IT实战环境第三季:快速搭建SCCM1902服务器 ?Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者博客:https://blog.51cto.com/lander IT Helpdesk实战培训视频课程:https://edu.51cto.com/lecturer/733218.html2019/6/19 课程介绍 这是一门手把手指导你快速搭建SCCM1902服务器的视频教程,为你学习SCCM服务器的应用操作,客户端系统部署或在

[Node.js] Load balancing a Http server

Let's see how to do load balancing in Node.js. Before we start with the solution, you can do a test to see the ability concurrent requests your current machine can handle. This is our server.js: const http = require('http'); const pid = process.pid;

【Node.js】3.Node.js和commomJS规范

来源:http://javascript.ruanyifeng.com/ 目录 概述 module对象 module.exports属性 exports变量 AMD规范与CommonJS规范的兼容性 require命令 基本用法 加载规则 目录的加载规则 模块的缓存 环境变量NODE_PATH 模块的循环加载 require.main 模块的加载机制 require的内部处理流程 概述 Node程序由许多个模块组成,每个模块就是一个文件.Node模块采用了CommonJS规范. 根据Common

拿什么守护你的Node.JS进程: Node出错崩溃了怎么办? foreverjs, 文摘随笔

守护进程 方案一 npm install forever https://github.com/foreverjs/forever 方案二 npm install -g supervisor http://www.cnblogs.com/pigtail/archive/2013/01/08/2851056.html 被吐嘈的NodeJS的异常处理 许多人都有这样一种映像,NodeJS比较快: 但是因为其是单线程,所以它不稳定,有点不安全,不适合处理复杂业务: 它比较适合对并发要求比较高,而且简单

拿什么守护你的Node.JS进程: Node出错崩溃了怎么办?

被吐嘈的NodeJS的异常处理 许多人都有这样一种映像,NodeJS比较快: 但是因为其是单线程,所以它不稳定,有点不安全,不适合处理复杂业务: 它比较适合对并发要求比较高,而且简单的业务场景. 在Express的作者的TJ Holowaychuk的告别Node.js一文中列举了以下罪状: Farewell NodeJS (TJ Holowaychuk) ?   you may get duplicate callbacks?   you may not get a callback at al

Node.js学习笔记(4)——除了HTTP(服务器和客户端)部分

很多node入门的书里面都会在介绍node特性的时候说:单线程,异步式I/O,事件驱动. Node不是一门语言,它是运行在服务器端的开发平台,官方指定语言为javascript. 阻塞和线程: 线程在执行中如果遇到磁盘读写或网络通信(统称为 I/O 操作),通常要耗费较长的时间,这时操作系统会剥夺这个线程的 CPU 控制权,使其暂停执行,全力执行这个I/O操作,同时将资源让给其他的工作线程,这种线程调度方式称为阻塞.当其他完成之后,系统再恢复它对cpu的控制权,继续执行,这就是同步I/O或者阻塞