当前位置: 首页 > 知识库问答 >
问题:

人工仓库的实际使用

冀啸
2023-03-14

在不久的将来,我将开始在我的项目中使用艺术工厂。我一直在阅读本地和远程存储库,我对它们的实际用途有点困惑。总的来说据我所知

  • 本地存储库用于推拉工件。它们与远程存储库没有连接(即位于https://www.npmjs.com/)
  • 远程存储库用于按需提取和缓存工件。它只有一种工作方式,不可能推送工件

如果我说的没错,那么实际上这意味着,如果您不开发npm模块,而只使用它们来构建应用程序,那么您只需要一个npm远程存储库。相反,如果您需要同时拉入和推送Docker容器映像,则需要有一个本地存储库来推送

问题#1

我很困惑,因为我们的Artifactory管理员为我们的项目创建了一个本地npm存储库。当我和他讨论这个话题时,他告诉我,我需要首先将软件包从互联网下载到我的PC,然后将它们推送到Artifactory服务器。这对我来说没有任何意义,因为我在同一台服务器上看到了一些远程存储库,我们只需要从npm中提取包。我有没有遗漏一点?

问题#2

是否保存远程存储库缓存中的工件,直到有意删除?是否有默认的保留策略(即删除超过6个月的包)?我这样问是因为在流星击中服务器之前保存软件包很重要(对于公司的存档策略)。

问题#3

我们需要获得官方的Docker图像,并为CI定制它们。这将是有点难以维持一个本地回购为拉动

共有1个答案

寿毅庵
2023-03-14

问题#1这对我来说没有任何意义,因为我在同一台服务器上看到了一些远程存储库,我们需要的只是从npm中提取包。我有没有遗漏一点?

通常,您希望为此使用远程存储库。然后,您将客户机指向这个远程存储库,JFrog Artifactory将从远程站点抓取它们,并根据需要在本地缓存它们。

在一些非常安全的环境中,公司策略甚至不允许这样做(它们甚至可能没有连接到internet),而是手动下载、检查这些第三方库,然后将其上载到本地存储库。我不认为这是你的情况,他们可能只是不理解他们的预期用途。

问题#2远程存储库缓存中的工件是否一直保存到有意删除?是否有默认的保留策略?

除非您主动配置它们,否则它们不会被删除。

对于某些回购类型,有内置的保留机制,如快照数或最大标记数,但并非所有类型都有,即使有,也必须主动启用。对于工件必须维护多长时间,不同的组织有不同的策略。有很多方法可以清理这些旧工件,但最终将取决于您自己的需求。

问题#3是否可以使用虚拟存储库无缝地作为一个回购?

虚拟存储库将允许您聚合本地和远程站点,并显示为单个源。所以你可以这样做:

docker构建... docker推送myarturl/docker/某些图像: sometag... docker构建...docker推送myarturl/docker/某些图像: sometag-my-修改版docker推送myarturl/docker/某些图像: sometag-my-修改版

它还具有安全意识,所以如果用户只能访问本地内容,而不能访问远程内容,那么即使他们使用包含这两个内容的虚拟存储库,他们也只能访问本地内容。

也就是说,我不明白为什么显式使用不同的存储库会更难:docker pull myarturl/docker remote/someimage:sometag。。。码头工人建造docker push myarturl/docker local/someimage:sometag我的修改版本docker pull myarturl/docker local/someimage:sometag我的修改版本

这还有一个额外的优点,即您知道他们只能提取您修改后的映像版本,而不能提取远程映像(尽管您也可以通过创建正确的权限来实现这一点)。

 类似资料:
  • 问题内容: 我正在尝试从github克隆私有git存储库。我做了一个像这样的Dockerfile: 我在本地使用这个密钥可以很好地使用这个仓库,所以似乎我在码头工人里面缺少东西。 我可能还缺少的一件事是docker内部和外部都指向而不是,但是我不确定是否可以关联。 问题答案: 构建过程的输出是什么? 随机猜测:尝试使用私钥。 如果仍然无法使用,请尝试(添加密钥后);输出应说明发生了什么。

  • 问题内容: 我正在使用golang项目的软件包管理。我无法使用来获取私有存储库。 即使我提供了正确的凭据,它也会询问用户名和密码,结果抛出错误。请提出任何想法。 问题答案: 它与任何其他程序包管理工具无关。您必须在git http.extraheader中设置create和gitlab访问令牌。 转到gitlab 设置- >访问令牌并创建新的访问令牌,请确保仅将其复制一次。 然后设置这些git的全

  • 为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓库。 远程仓库是指托管在因特网或其他网络中的你的项目的版本库。 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写。 与他人协作涉及管理远程仓库以及根据需要推送或拉取数据。 管理远程仓库包括了解如何添加远程仓库、移除无效的远程仓库、管理不同的远程分支并定义它们是否被跟踪等等。 在本节中,我们将介绍一部分远程管理的技能。 查看

  • C 研发 总体面试感觉还可以,面试官似乎也比较 青涩??? 问了语音识别的项目,基本都在听我讲,比较感兴趣。 问了WebServer,我说我自己用C++重构了项目,但是时间比较就远了,没有问很难的问题。 问了内存泄漏和堆溢出 C++中的static关键字作用,这个是真的高频,我这么久没看了都被拷打得印象超级深刻。 问我会不会Redis的增删改查,我说我很久没看了,他说没事儿。 最后问了偏向的工作方

  • 本文向大家介绍centos7搭建docker私人仓库的方法(kubernetes),包括了centos7搭建docker私人仓库的方法(kubernetes)的使用技巧和注意事项,需要的朋友参考一下 我们平时镜像都是习惯于放在公共仓库的,比如Dockerhub, Daocloud。但在企业里,我们经常会需要搭建公司自己的镜像仓库。 这篇文章讲解如何用docker提供的registry镜像来搭建自己

  • Repository,仓库,简称 Repo。为项目添加一个 Git 仓库以后,你就可以用 Git 为项目做版本控制了。 git init 上面的命令可以为项目初始化一个仓库,这个动作只需要执行一次,它会在项目下面创建一个 .git 目录,Git 会把它需要的东西存储在这个 .git 目录里面,它其实就是项目的仓库。 练习 1,创建一个项目。打开你的命令行界面,执行: cd ~/desktop m