此服务器支持Batch API和File Locking API。项目地址与文档:

https://github.com/zhxxch/git-lfs-one/​github.com

LFS 是个好东西但 GitHub 给的容量有点少,套餐也不大合适,如果把文件放到对象存储上,速度就快多了……

Git LFS Serverless & Git LFS One

完全弹性伸缩的Git LFS服务器。

由阿里云对象存储(OSS)、函数计算(FC)、表格存储(OTS)支持。

以极低成本自由搭建仓库数目不限、容量不限的LFS服务。

∘ 安装 ∘ 客户端设置 ∘ 卸载 ∘ 注意事项 ∘

∘ 使用OneDrive托管并发布公共LFS仓库(Git LFS One)

资源栈模板安装

确保阿里云账户开通了对象存储、函数计算、表格存储、访问控制和资源编排服务。

  1. 选择地域、在资源编排控制台创建资源栈;
  2. 选择模板录入方式:使用url;输入https://cdn.jsdelivr.net/gh/zhxxch/git-lfs-one@latest/lfs-oss-template.json
    获取JSON内容后点击下一步;
  3. 设置LFS的默认用户名和密码。点击“创建”。
  1. 资源栈创建完成后,输出选项卡中将显示LFS服务的远程地址(Endpoint),需要使用此地址配置Git LFS客户端。

客户端设置

(Git LFS的使用可以参考Git LFS 操作指南(Gitee)、git-lfs/git-lfs/wiki/Tutorial)

建立仓库;开启LFS:

git init
git lfs install

设置LFS远程地址:

git config --local lfs.url <Endpoint URL>

也可以.lfsconfig文件中设置远程地址:

git config --file=.lfsconfig lfs.url <Endpoint URL>
git add .lfsconfig

.lfsconfig文件提交到仓库中则克隆仓库时LFS自动读取.lfsconfig并下载文件。

远程地址的格式

<Endpoint URL>实际地址可以在资源栈“输出”选项卡中查看,例如:

https://######.fc.aliyuncs.com/2016-08-15/proxy/service/function/{******}.git/info/lfs

其中{******}部分可以任意填写作为仓库名。如果设置远程地址为https://....../Repo.git/info/lfs,上传的文件将位于OSS存储桶的/Repo.git/lfs.objects/文件夹中。

通过为不同仓库的客户端设置不同的远程地址,各仓库LFS管理的文件可以存储在不同目录中,无需服务器端为此个别配置。

其他服务器设置

客户端认证

地址中username:password是HTTP认证部分的“用户名:密码”。为服务器端仓库添加用户或更改用户名与密码的方式是:编辑OSS存储桶中仓库目录下的lfs.htpasswd.json文件。示例:

["user001:{SHA}DMfOUZZzqxOm6a0yb0+6RDorH/4=","contrib:{SHA}Ki8e1bdA8S2EvNh24SP7+7gjKRc="
]

仅支持SHA-1。此文件中默认保存了创建资源栈时设置的用户名和密码。

可以使用这个工具在线生成htpasswd。

未认证的用户仍可以下载文件(前提是拥有对应的Git仓库),上传和使用文件锁功能必须提供正确的用户名和密码。

如果希望架设一个仅供克隆和拉取且可公开访问的LFS仓库,推荐使用Git LFS One将LFS文件托管在OneDrive中,并获得一个用于LFS拉取(pull)的URL。

绑定自定义域名

如果将自定义域名my-domain.net与路径/xxx/xxxx/*绑定至函数,则对应MyRepository仓库的LFS远程地址是:

https://username:password@my-domain.net/xxx/xxxx/MyRepository.git/info/lfs

管理远程文件

Git LFS协议仅能够上传、下载,没有提供删除服务器端文件的手段,如果希望本地LFS管理的内容与服务器端存储的内容完全一致,最简单的方法是使用git lfs fetch --all将文件全部下载到本地,然后清空服务器中当前仓库的所有文件(即删除存储桶中的对应目录,本软件没有提供这项功能,需要通过控制台或API操作),再通过git lfs push --all重新上传。

卸载

  1. 删除LFS使用的存储桶中的所有文件;
  2. 清空表格存储相关表格中的数据(如果使用了文件锁);
  3. 在资源栈列表中删除资源栈。

卸载本地仓库的LFS请参考git-lfs/git-lfs#3026。

合并代码与资源栈模板

脚本Build-Template.ps1将函数的代码打包为zip,以base64编码写入资源栈模板中。此脚本可能需要在Windows系统中运行。

./Build-Template.ps1 ./lfs-oss.js ./template-code-incomplete.json ./lfs-oss-template.json


【其他注意事项】

  1. 无法上传大于5GB的单个文件
    本地的Git LFS客户端直接向OSS发送PUT请求上传文件,OSS API有5GB的限制。改进这一限制必须分片上传,Git LFS客户端自身无法做到这一点。(此外Git for Windows无法处理大于4GB的文件:git-for-windows/git#1063)
  2. 使用本软件部署Git LFS服务不会产生费用。但是使用过程中的计费项包括表格存储;对象存储的请求数、网络流量、存储容量;和函数计算的请求数、网络流量、执行时间需要您自行承担费用!
    Git LFS协议的特性造成请求数、函数计算的流量和执行时间费用可忽略不计;考虑到OSS上传流量不计费,总成本主要由OSS存储以及OSS或CDN下行流量费用构成,几乎所有情况下都低于单纯由云服务器支持的Git LFS服务。
    如果不希望此服务器造成过大的LFS下行流量,可以使用Git LFS One将仓库托管在OneDrive上。
  3. 远程地址是互联网可公开访问的,为避免大量开支,建议设置按量实例伸缩控制。
  4. 不建议在相关存储桶中存放其他文件。

反馈

故障报告、建议请通过Issues提出,其他事项请联系zhxxch at outlook dot com。

使用许可

GPL-3.0


Git LFS One

开始使用Git LFS One:https://lfs-one.inv.ariant.cn

∘ 使用条款 ∘ 隐私声明 ∘

OneDrive与Git LFS One的连接

Git LFS One能够将OneDrive中的特定文件夹转换成公开的Git LFS仓库。普通的Git LFS客户端均可以通过http://lfs.v.ariant.cn提供的地址拉取OneDrive中的LFS文件。

  1. 登录并授权后,本应用为OneDrive账户生成一个LFS远程地址;(示例)https://lfs.v.ariant.cn/jKZN6***I6c/
  2. 进入应用在OneDrive创建的目录Git-LFS-One/(本应用仅具有对此文件夹的访问权限);
  3. 新建文件夹并使用git init --bare初始化仓库;
    cd Git-LFS-One mkdir <repository-name> cd <repository-name> git init --bare
  4. 在本地Git仓库将OneDrive中的文件夹(本地路径)添加为远程仓库;
    git remote add onedrive C:/.../.../Git-LFS-One/<repository-name>/
  5. 执行git lfs push --all onedrive上传LFS文件;
  6. 其他Git LFS客户端可以将本应用提供的地址添加为远程仓库(remote)从而提取LFS管理的文件(pullfetch)。
    git remote add onelfs https://lfs.v.ariant.cn/######/<repository-name>.git git lfs fetch onelfs

例如

https://lfs.v.ariant.cn/######/repository-folder.git

对应OneDrive中

~/OneDrive/Apps/Git-LFS-One/repository-folder/

~/OneDrive/应用/Git-LFS-One/repository-folder/

请在repository-folder目录下执行git init --bare并将LFS文件推送至此仓库中;或直接复制本地仓库的.git/lfs目录到repository-folder文件夹中。

OneDrive中应该具有如下目录结构:

OneDrive
+---应用(或“Apps”)---Git-LFS-One---<repository-folder>+---hooks+---info+---lfs|   ---objects|       +---HH|       |   ---HH+---objects|   +---info|   ---pack---refs+---heads---tags


本软件得到了“Git推广普及计划”“Git LFS惠民工程”“云计算进乡村促发展”(这些都不存在的)项目的资助。GitHub ∘ Gitee

eclipse查看git地址_Git大文件管理:函数计算和OSS支持的Git LFS服务器相关推荐

  1. R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型、分类预测器(分类变量)被自动替换为一组虚拟编码变量、summary函数查看检查模型、使用table函数计算混淆矩阵评估分类模型性能

    R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型(Logistic regression).分类预测器(分类变量)被自动替换为一组虚拟编码变量.summary函数查看检查模型.使用t ...

  2. 函数计算-触发OSS来处理图片加水印和大小裁剪

    ​摘要: 在Web应用中,有很多在类型,其中针对有一种是针对电商.图片处理网站中当客户上传到OSS的图片进行大小裁剪或者批量加上防盗水印,通常的做法是搭建一个在线服务器并部署WEB应用来进行处理,程序 ...

  3. 函数计算新功能-----支持C#函数

    声明 本文转载自 原文 前言 函数计算作为新兴的事件驱动serverless平台正受到越来越多开发者的欢迎,之前已支持Java, Python, Nodejs, Php四种语言.现在函数计算正式支持C ...

  4. eclipse查看git地址_git下载及使用

    一.git下载安装 官网下载:Git 如果官网下载太慢可以使用下面的下载地址 国内的淘宝npm镜像下载,网址:git-for-windows Mirror 安装一直next就可以了 二.git下载与上 ...

  5. 一元建站-基于函数计算 wordpress 构建 serverless 网站

    前言 本文旨在通过 快速部署一个 wordpress 网站到阿里云函数计算平台 这个示例来展示 serverless web 新的开发模式, 包括 FUN 工具一键初始化 NAS, 同步网站到 NAS ...

  6. 开发函数计算的正确姿势——支持 ES6 语法和 webpack 压缩

    为什么80%的码农都做不了架构师?>>>    首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算 ...

  7. serverless mysql_Serverless 解惑——函数计算如何访问 MySQL 数据库

    函数计算(Function Compute):函数计算 是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务 ...

  8. 从零入门 Serverless | 函数计算的可观测性

    作者 | 夏莞 阿里巴巴函数计算团队 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复"入门",即可获取 S ...

  9. Serverless 解惑——函数计算如何访问 PostgreSQL 数据库

    函数计算(Function Compute):函数计算 是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务 ...

最新文章

  1. 修改MSSQLServer的登陆方式
  2. Spring Boot零散知识总结
  3. 没想到你是这样的npm install
  4. ndarray的转置(numpy.transpose()与A.T命令对比详解)
  5. java导入包srcy有红叉_eclipse导入项目后出现红色叉号的解决方案
  6. mongodb ensureIndex parameter
  7. Directshow 采集-截屏和显示
  8. 根据图片名批量创建文件夹
  9. 一个足球队员的不屈抗争·《晚唱·贾平凹》
  10. 解决K8S节点NotReady状态
  11. wifi的几种加密方式
  12. 云适配牵手中建信息 征战企业级市场信心十足
  13. SIP/VoIP之常见的语音问题
  14. 2022-2027年(新版)中国大米行业营销战略与供应情况预测报告
  15. html表格到层的相对位置,html,左右拖动表格.doc
  16. Unix和Linux下C语言学习指南
  17. 美学心得(第二百四十二集) 罗国正
  18. 搭建基于企业微信的SCRM系统
  19. android网易七鱼客服系统
  20. 近千只股票跌停 沪指暴跌281点创历史之最

热门文章

  1. ES6入门之对象扩展
  2. FlashInspector 【Firefox浏览器插件,flash分析工具】
  3. ios 的touch事件分析
  4. 解压与压缩ramdisk.img文件,生成uramdisk.img文件
  5. Ubuntu安装HBase2.2.4并进行单机/伪分布式配置
  6. 微众WeCross 跨链平台(1)平台介绍
  7. C++ Primer 5th笔记(10)chapter10 泛型算法 :谓词
  8. 购物小票 FoundPrice.java
  9. linux kernel内存管理学习篇
  10. 2022-01-04