欢迎使用openEuler社区artlfs服务

openEuler社区artlfs服务已经上线啦!通过本篇文章,您将了解以下内容:

概述

artlfs是openEuler社区专属的大文件存储服务,您可以在openEulersrc-openEuler组织内的仓库及其fork仓库使用artlfs存储LFS文件。相较于Gitee LFS服务,其可以支持最大5G文件的上传,并拥有更大的存储空间与更快的传输速度,且两者的使用方式几乎完全相同。

使用方式

我们建议5MB以上的文件均使用Git LFS进行管理,这将减少git仓库的体积,避免随着项目体积增大而导致git响应速度越来越慢。如下是您可能希望了解的使用场景:

  • 如何配置LFS服务:在仓库根路径下添加.lfsconfig文件即可完成配置,配置完成后可使用Git LFS上传大文件。配置文件内容如下({owner}/{repo}为启用服务的仓库名称):

    [lfs]
        url = https://artlfs.openeuler.openatom.cn/{owner}/{repo}
    

    [lfs]
      url = git@artlfs.openeuler.openatom.cn:{owner}/{repo}
    
  • Git LFS的基本使用,即如何推送大文件:详阅Git LFS 操作指南

  • 当您推送大文件到自己fork的已启用LFS服务的仓库时:需在本地仓库内手动使用如下命令修改LFS配置({owner}/{repo}需替换为实际fork后的仓库名称):

    $ git config --local lfs.url https://artlfs.openeuler.openatom.cn/{owner}/{repo}
    
  • 权限认证:使用HTTPS方式克隆或推送大文件时,可能会提示需要输入在https://artlfs.openeuler.openatom.cn的账号,使用Gitee账号即可进行认证。

    Username for 'https://artlfs.openeuler.openatom.cn': gitee_username
    Password for 'https://gitee_username@artlfs.openeuler.openatom.cn':
    
  • 当您的仓库已使用Gitee LFS,现希望切换到社区自建LFS服务:

    1. 克隆仓库(若本地已有仓库副本可跳过1、2步)。

      $ git clone <url>
      
    2. 获取存储在Gitee LFS服务中的所有LFS文件。

      $ git lfs fetch --all origin
      
    3. 添加.lfsconfig文件配置社区自建LFS服务并提交。

      $ vi .lfsconfig
      $ git add .lfsconfig
      $ git commit -m "add .lfsconfig"
      
    4. 推送大文件和提交。

      $ git lfs push --all origin
      $ git push
      
3 个赞

目前已经有部分仓库用上lfs啦 see: convert to lfs · Pull Request !110 · src-openEuler/mariadb - Gitee.com

有哪些仓库已经用上了的,可以list一下

当前正在使用artlfs服务进行LFS文件管理的仓库如下:

  1. src-openeuler/mariadb
  2. src-openeuler/texinfo
  3. src-openeuler/doxygen
  4. src-openeuler/llvm-bolt
  5. src-openeuler/qt5-qtwebkit
  6. src-openeuler/firefox
  7. src-openeuler/openvino
  8. src-openeuler/php
  9. src-openeuler/greatsql
  10. src-openeuler/linux-firmware
  11. src-openeuler/libabigail
  12. src-openeuler/mysql
  13. src-openeuler/ibus-typing-booster
  14. src-openeuler/graphviz
  15. src-openeuler/ffmpeg
  16. src-openeuler/emacs
  17. src-openeuler/rust
  18. src-openeuler/babel
  19. src-openeuler/qt6-qtbase
  20. src-openeuler/thunderbird
  21. src-openeuler/raspberrypi-firmware
  22. src-openeuler/openjdk-latest
  23. src-openeuler/tk
  24. src-openeuler/tcl
  25. src-openeuler/subversion
  26. src-openeuler/sqlite
  27. src-openeuler/openmpi
  28. src-openeuler/claws-mail
  29. src-openeuler/cracklib
  30. src-openeuler/mock
  31. src-openeuler/software-package-server
1 个赞

截止2025年02月7日, 使用artlfs服务进行LFS文件管理的仓库如下:

  1. src-openeuler/ibus-typing-booster
  2. src-openeuler/linux-firmware
  3. src-openeuler/babel
  4. src-openeuler/qt6-qtwebengine
  5. src-openeuler/qt6-qtbase
  6. src-openeuler/postgresql
  7. src-openeuler/qt6-qtcharts
  8. src-openeuler/greatsql
  9. src-openeuler/mock
  10. src-openeuler/graphviz
  11. src-openeuler/tcl
  12. src-openeuler/sqlite
  13. src-openeuler/firefox
  14. src-openeuler/binutils
  15. src-openeuler/php
  16. src-openeuler/mold
  17. src-openeuler/zabbix
  18. src-openeuler/claws-mail
  19. src-openeuler/qt6-qt5compat
  20. src-openeuler/qt6-qtmultimedia
  21. src-openeuler/qt6-qt3d
  22. src-openeuler/perl-Image-ExifTool
  23. src-openeuler/qt6-qtdoc
  24. src-openeuler/texinfo
  25. src-openeuler/gparted
  26. src-openeuler/libabigail
  27. src-openeuler/perl
  28. src-openeuler/openmpi
  29. src-openeuler/nodejs
  30. src-openeuler/qt6-qtquick3d
  31. src-openeuler/qt6-qtquick3dphysics
  32. src-openeuler/llvm-bolt
  33. src-openeuler/mariadb
  34. src-openeuler/gettext
  35. src-openeuler/proftpd
  36. src-openeuler/thunderbird
  37. src-openeuler/coreutils
  38. src-openeuler/qt5-qtwebkit
  39. src-openeuler/libspatialite
  40. src-openeuler/doxygen
  41. src-openeuler/subversion
  42. src-openeuler/emacs
  43. src-openeuler/pdfpc
  44. src-openeuler/qt6-qtdeclarative
  45. src-openeuler/openvino
  46. src-openeuler/libguestfs
  47. src-openeuler/ffmpeg
  48. src-openeuler/qt6-qttools
  49. src-openeuler/wireshark
  50. src-openeuler/gtk3
  51. src-openeuler/SDL2
  52. src-openeuler/gtk4
  53. src-openeuler/vim
  54. src-openeuler/icu
  55. src-openeuler/tk
  56. src-openeuler/software-package-server
  57. src-openeuler/poppler
  58. src-openeuler/mysql
  59. src-openeuler/openjdk-latest
  60. src-openeuler/rust
  61. src-openeuler/raspberrypi-firmware
  62. src-openeuler/cracklib

gitee用户没有权限上传啊~~~~ 是只有欧拉的人员可以上传吗,这个权限能申请吗

batch response: forbidden: user has no permission to upload to src-openEuler/mongo-c-driver

owner 配错了,要填自己fork的仓库地址,自己的gitee id

1 个赞

由于openEuler社区要从Gitee平台迁移至AtomGit平台,作为openEuler社区专属的大文件存储服务,Artlfs也将同步进行迁移并将支持平台由Gitee转化为AtomGit。由于这次迁移,Artlfs服务将有以下几项迁移注意事项:

1. Artlfs服务迁移到AtomGit平台后,由于AtomGit平台的安全机制,在上传LFS文件进行身份验证时,不再支持账号密码登录了。在新的AtomGit平台中,仅支持账号token进行身份验证,

2. 在AtomGit平台使用Artlfs服务时,目前需要手动开启仓库内自定义LFS存储源的设置。

3. 在Artlfs服务迁移到AtomGit平台后,在原Gitee平台使用了Artlfs的仓库,仍然支持LFS文件拉取功能,但是将不再支持LFS文件上传。在AtomGit平台使用LFS文件上传时,请确认您的账号在AtomGit平台上对应仓库中的权限,仅admin,developer权限可以进行LFS文件推送。

4. 对于在AtomGit平台初次使用Artlfs的用户,可以参考操作文档BigFiles/docs/BasicGuide.md at master · opensourceways/BigFiles (github.com)BigFiles/docs/QuickStart.md at master · opensourceways/BigFiles (github.com)。请注意,在AtomGit平台仅支持token进行身份验证(事项1),并且需要手动开启自定义LFS源(事项3)。

5. 对于在AtomGit平台使用LFS功能的用户,需要将LFS文件迁移到Artlfs服务的用户。需要首先通过克隆原仓库(git clone或git lfs clone)获取LFS文件。然后通过配置.lfsconfig文件设置自定义LFS源来接入Artlfs服务,配置方式如下:

[lfs]

url = https://artifacts.openeuler.openatom.cn/{owner}/{repo}

url中{owner}/{repo}替换为实际的仓库路径,注意仓库路径的大小写。(详细操作可以参考文档:BigFiles/docs/BasicGuide.md at master · opensourceways/BigFiles (github.com)

提交并推送.lfsconfig文件到AtomGit的远程仓库,为后续LFS上传位置提供新的目标地址。.lfsconfig只影响未来的LFS操作,要让文件A的实际内容存储到新服务器,您需要重新写入Git历史,使其指向新的LFS存储。在执行此操作前,请务必与团队沟通,并确保仓库已备份,因为它会重写提交历史:

# 确保在仓库根目录,并已安装最新版Git LFS

# 使用 migrate 命令重写历史,将文件A的实体迁移到新LFS服务器

git lfs migrate import --include=“文件A的名称或匹配模式” --everything

此命令会遍历所有相关提交,将匹配的文件从旧的LFS存储中提取出来,并根据当前配置(即您在.lfsconfig中设置的新URL)重新作为LFS文件上传。

由于历史记录被改变,您需要强制推送到远程仓库(如AtomGit)以更新引用。

git push --force --all

如下图所示提示输入密码时,请输入 atomgit 的 token:

$ git push
Username for ‘https://artlfs.openeuler.openatom.cn’: fundawang
Password for ‘https://fundawang@artlfs.openeuler.openatom.cn’:

在此之前,务必确认本地仓库的 git 配置:

git config --local lfs.url https://artlfs.openeuler.openatom.cn/{owner}/{repo}