Docker 从公共站点自动下载二进制文件,然后为这些文件编制索引并提供给gitlab runner? 如果有更好的地方发布,我道歉,请让我知道

Docker 从公共站点自动下载二进制文件,然后为这些文件编制索引并提供给gitlab runner? 如果有更好的地方发布,我道歉,请让我知道,docker,gitlab,devops,build-automation,gitlab-ci-runner,Docker,Gitlab,Devops,Build Automation,Gitlab Ci Runner,我有一个cron作业,每天在服务器上运行,从公共站点下载特定Chrome扩展的最新版本。这很好用,我在服务器上有一个文件夹,里面有一堆*.crx文件,我可以根据需要的版本来选择 目前,我手动将想要的版本复制到git repo中,提交该版本,然后将其推送到我的gitlab服务器,该服务器已通过其集成的CI/CD系统设置为构建自动化。这将我选择的Chrome扩展版本集成到我的构建中 我希望通过将crx下载移动到gitlab计划的管道中,然后替换在repo中手动复制crx文件的步骤,进一步自动化此过程

我有一个cron作业,每天在服务器上运行,从公共站点下载特定Chrome扩展的最新版本。这很好用,我在服务器上有一个文件夹,里面有一堆*.crx文件,我可以根据需要的版本来选择

目前,我手动将想要的版本复制到git repo中,提交该版本,然后将其推送到我的gitlab服务器,该服务器已通过其集成的CI/CD系统设置为构建自动化。这将我选择的Chrome扩展版本集成到我的构建中

我希望通过将crx下载移动到gitlab计划的管道中,然后替换在repo中手动复制crx文件的步骤,进一步自动化此过程

我确信我可以将cron作业迁移到适合传递给计划管道中的运行程序的脚本中,并且我还确信我可以修改构建自动化,以允许用户在构建时选择crx版本

其中有一部分我完全被难住了:我应该在哪里/如何存储crx库?

我的gitlab和Runner都是在Docker中设置的,否则我可能只需要设置一个NFS共享(或类似的共享)就可以了

我想我是在寻找某种可以集成到gitlab的人工制品,而不是被黑客拼凑在一起的东西

Jfrog非常有名,尽管我从未使用过它,而且对于这个任务来说,它似乎有些过火了。我似乎无法确定自由和开放源码软件的替代方案,否则,我只需将其旋转起来并进行实验

我可以制作一个新的git repo来严格跟踪和存储这些crx文件,然后将其作为子模块添加到我的主存储库中,但这似乎也有点过分。


还有其他方法我没有考虑吗?上述想法值得追求吗?

我会在构建时下载crx文件。它们不是代码的一部分。我会保存在git或env var文件中的版本。我想最好是一个文件。您可以将此工件上载到Jfrog。但最好在构建时下载它们


不要嘲笑他们。它们是二进制文件。

我不喜欢使用git回购来存储它们,尽管我们正在使用gitlab的LFS支持来减轻一些负面影响。问题是AFAIK在构建时只提供最新的crx,目前我们并不是每晚都在构建。我们希望使用比最新版本旧的版本进行构建,以防新版本中存在bug,这会给我们升级到下一个版本的空间(假设修复了这些bug)。我需要在chrome商店和我的构建系统之间建立一个临时文件归档,这样我们就可以访问任何版本。这对于再现性也是至关重要的……您可以在git上的文件中指定版本。一个txt文件,然后使用这个版本在构建时下载crx文件。您可以将这些文件存储在Jfrog上并从中检索。它可以防止由于下载宕机而导致的错误。据我所知,在从Chrome商店下载crx时,您不必选择一个版本-您只能获得最新版本。即使可以,您想要的版本也可以随时删除。我实际上需要将可用的版本镜像为缓冲区,让我们对它们进行本地控制。