在GitLab CE Omnibus中管理(较旧的)CI工件

roe*_*ofs 3 gitlab gitlab-ci gitlab-omnibus

美好的一天,

我为我的公司运行GitLab CE Omnibus(8.4.3)安装.我们最近开始使用CI,但仍主要用于生成文档.二进制构建正在被添加.

作为系统的一部分,我运行每日备份任务(使用gitlab-rake gitlab:backup:create).在过去的几天里,这些工件已经开始变得非常大,即使它只是在这个阶段的文档(doxygen生成的图像似乎是问题的主要来源).由于工件包含在备份中,因此每日备份(当前策略保持2周的价值)已经变得难以处理.

我已经搜索了一些答案,但我得到的大多数点击似乎与此阶段的功能请求有关.我知道CI仍然相对较新,但我认为工件管理在需求列表中相当高.

我有三个问题:

  1. 有没有办法在GitLab中管理/删除旧工件,而不是手动将它们从磁盘中删除(并且可能会破坏流程中的链接)?如果这个过程可以自动化将是理想的.

  2. 从1开始,是否可以在清理策略中针对特定类别的工件(即,仅删除较旧的文档目标,但不删除二进制文件等)?

  3. 是完全可能还是基于CI目标类型,是否可以从推荐的gitlab-rake gitlab:backup:create备份过程中排除工件?

任何链接,提示或建议将非常感谢!

亲切的问候,

[更新]更多阅读,产生以下内容:

  1. 从Gitlab 8.5开始,我可以手动删除单个构建工件.这有帮助,但不具备可扩展性.适当的工件管理(包括到期日期等)的时间表似乎是Gitlab 8.7.

  2. 似乎没有明确要求以不同方式处理不同的构建目标工件.

  3. 没有关于从备份任务中删除工件的信息.

小智 5

我也很想找到1和2的答案.

要排除备份任务中的项目,请尝试SKIP参数:

gitlab-rake gitlab:backup:create SKIP=artifacts,builds
Run Code Online (Sandbox Code Playgroud)

您还可以SKIP存储库,lfs,上传.只需将它们作为逗号分隔列表提供.另见https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/backup_restore.md