openEuler社区artlfs服务已经上线啦!通过本篇文章,您将了解以下内容:
概述
artlfs是openEuler社区专属的大文件存储服务,您可以在openEuler和src-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、2步)。
$ git clone <url>
-
获取存储在Gitee LFS服务中的所有LFS文件。
$ git lfs fetch --all origin
-
添加.lfsconfig文件配置社区自建LFS服务并提交。
$ vi .lfsconfig
$ git add .lfsconfig
$ git commit -m "add .lfsconfig"
-
推送大文件和提交。
$ git lfs push --all origin
$ git push
3 个赞
截止2025年02月7日, 使用artlfs服务进行LFS文件管理的仓库如下:
- src-openeuler/ibus-typing-booster
- src-openeuler/linux-firmware
- src-openeuler/babel
- src-openeuler/qt6-qtwebengine
- src-openeuler/qt6-qtbase
- src-openeuler/postgresql
- src-openeuler/qt6-qtcharts
- src-openeuler/greatsql
- src-openeuler/mock
- src-openeuler/graphviz
- src-openeuler/tcl
- src-openeuler/sqlite
- src-openeuler/firefox
- src-openeuler/binutils
- src-openeuler/php
- src-openeuler/mold
- src-openeuler/zabbix
- src-openeuler/claws-mail
- src-openeuler/qt6-qt5compat
- src-openeuler/qt6-qtmultimedia
- src-openeuler/qt6-qt3d
- src-openeuler/perl-Image-ExifTool
- src-openeuler/qt6-qtdoc
- src-openeuler/texinfo
- src-openeuler/gparted
- src-openeuler/libabigail
- src-openeuler/perl
- src-openeuler/openmpi
- src-openeuler/nodejs
- src-openeuler/qt6-qtquick3d
- src-openeuler/qt6-qtquick3dphysics
- src-openeuler/llvm-bolt
- src-openeuler/mariadb
- src-openeuler/gettext
- src-openeuler/proftpd
- src-openeuler/thunderbird
- src-openeuler/coreutils
- src-openeuler/qt5-qtwebkit
- src-openeuler/libspatialite
- src-openeuler/doxygen
- src-openeuler/subversion
- src-openeuler/emacs
- src-openeuler/pdfpc
- src-openeuler/qt6-qtdeclarative
- src-openeuler/openvino
- src-openeuler/libguestfs
- src-openeuler/ffmpeg
- src-openeuler/qt6-qttools
- src-openeuler/wireshark
- src-openeuler/gtk3
- src-openeuler/SDL2
- src-openeuler/gtk4
- src-openeuler/vim
- src-openeuler/icu
- src-openeuler/tk
- src-openeuler/software-package-server
- src-openeuler/poppler
- src-openeuler/mysql
- src-openeuler/openjdk-latest
- src-openeuler/rust
- src-openeuler/raspberrypi-firmware
- src-openeuler/cracklib
gitee用户没有权限上传啊~~~~ 是只有欧拉的人员可以上传吗,这个权限能申请吗
batch response: forbidden: user has no permission to upload to src-openEuler/mongo-c-driver
wk333
(wk333)
7
owner 配错了,要填自己fork的仓库地址,自己的gitee id
1 个赞
Zherphy1
(Zherphy)
8
由于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
fundawang
(Fundawang)
9
如下图所示提示输入密码时,请输入 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}