我正在开发一个Gitlab项目,我们正试图找出存储我们不希望被git跟踪的静态文件的最佳方法。我们不希望跟踪这些文件的主要原因是repo大小会非常快。有两个主要的例子......
1)项目本身就是生成大型可执行文件。我们希望有一个地方可以保存特定版本的可执行文件,而无需通过git跟踪它们。
2)要构建项目,我们需要大量的输入文件。这些对于构建过程是必需的,但是相当频繁地改变(例如,如果我们进行图像处理,这些可能是一组高图像)。对我们来说,这些文件只有大约20MB,但它们每周都会更改。因此,如果我们跟踪这些变化,我们的回购将以无法维持的速度增长。
Gitlab界面中是否有一个地方可以存储我上面提到的文件?或者我们应该如何处理这个问题。到目前为止,解决方案是通过Slack / email共享此类文件。但对于该项目的新手来说,这很难维持。
答案 0 :(得分:0)
1)为此,Gitlab CI中有artifacts
。这些可以在CI循环后下载。 https://docs.gitlab.com/ee/user/project/pipelines/job_artifacts.html
2)没有用于存储构建过程的静态文件的功能。但最好的方法是创建文件共享,例如NFS在远程服务器上,在CI服务器上启动时,出于安全原因只读安装此共享,然后在CI作业期间将此目录绑定到docker容器中的内部目录。 https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/configuration/advanced-configuration.md#volumes-in-the-runnersdocker-section