对于一个研究项目,我有一个特殊的Gitlab用例,在这里,我必须将一些数据加载到Gitlab (用户、项目和合并请求),然后收集应用程序度量(内存使用、延迟和其他)。有没有办法完全删除GitLab的数据库?每次跑步我都需要一个空的开始。
通过Gitlab的API,我编写了一个代码来删除所有的东西,但有时似乎不是最好的方法。例如,在删除所有内容之后,我会得到“幽灵用户”,或者无法创建一个名为在上一次运行中已经存在的用户。
另外,我还必须从Prometheus中删除度量数据库。我在做:
sudo gitlab-ctl restart
sudo su -
cd /var/opt/gitlab/prometheus/data
rm -rf 0* wal/0* wal/checkpoint.0*但有时它不工作,我不得不重新安装,有时它需要很长的时间,Gitlab重新启动普罗米修斯。
我在一个带有Ubuntu 22的ARM64虚拟机上使用Gitlab 15.3.3。有什么想法或建议吗?
发布于 2022-10-20 05:25:07
理想情况下,您可以使用GitLab作为码头形象。
这意味着GitLab容器将使用主机挂载的卷来存储持久数据。
这包括$GITLAB_HOME/data,您可以在其中删除正确的子文件夹,并检查在重新启动GitLab映像时,您是否得到了一个干净的子文件夹。
弗朗西斯科·扎纳图在评论中使用"如何从Docker安装中访问Gitlab的指标(Prometheus和Grafana)?“确认了这种方法
docker run --network=host --env GITLAB_OMNIBUS_CONFIG="external_url 'http://localhost'"https://stackoverflow.com/questions/74104388
复制相似问题