簡體   English   中英

如何在不運行的情況下備份gitlab?

[英]How to make backup of gitlab without running?

我使用了gitlab omnibus安裝版本,但是我的電腦壞了,所以現在無法啟動我的電腦。 因此,我無法運行gitlab,而不得不從這種情況下進行備份。 從Gitlab文檔中,可以找到如何在gitlab運行狀態下進行備份的描述,但沒有任何描述方式可以在未運行狀態下進行備份。 https://docs.gitlab.com/ee/raketasks/backup_restore.html

該存儲庫已經備份,我真正想要備份的是有關gitlab支持功能(例如問題,合並請求等)的方法,該怎么辦?

如果可能的話,您需要備份由GitLab多功能映像映像裝載的數據,並將該數據復制到工作的PC上,以便在那里運行GitLab。

在新工作站上運行了GitLab之后,您可以在那里進行備份。

這是我的回答。

如果不運行gitlab,則無法進行備份,因為所有數據庫數據都與progresql相關。

因此,我在PC上的docker中安裝了另一個gitlab,並將所有內容附加到它上(配置,存儲庫,數據庫數據)

以下是我所做的

  1. 在docker上安裝gitlab(必須安裝與原始版本匹配的特定版本) https://docs.gitlab.com/omnibus/docker/

  2. 修改Docker運行腳本以將原始數據連接到Docker中的gitlab。

    例如)

    sudo docker run --detach \\ --hostname gitlab.example.com \\ --publish 443:443 --publish 80:80 --publish 22:22 \\ --name gitlab \\-總是重新啟動\\ --volume [USER_DIR ] / gitlab / config:/ etc / gitlab \\ --volume [USER_DIR] / gitlab / logs:/ var / log / gitlab \\ --volume [USER_DIR] / gitlab / data:/ var / opt / gitlab \\ gitlab / gitlab -ce:最新

  3. 在docker中運行gitlab

  4. 通過omnibus軟件包安裝的備份方法在docker中運行docker的備份https://docs.gitlab.com/ee/raketasks/backup_restore.html#restore-for-omnibus-installations

    例如)

    docker exec -t gitlab耙gitlab:backup:create

  5. 備份完成后,找到在

    例如)[USER_DIR] /etc/gitlab/gitlab.rb

我同意您的所有結論,即使可以作為解決方案。 這完全取決於您的設置,如果您在同一台計算機上擁有所有數據,則這是一個有改進空間的設置。

我自己的設置提供了外部PostgreSQL 9.x和Redis 5.x服務器。 外部服務器和Docker的好處使僅使用外部服務器和對Docker主機上的Docker卷的根訪問權限即可進行備份/還原。 由於數據庫是外部的,因此該解決方案涉及的步驟更少。

我已經做過很多次了,而且能奏效,但只有在知道自己在做什么的情況下,才應使用它。 某些部分與您發現的部分相同,例如重新安裝相同的版本等。

我只是想指出,針對此問題存在多個解決方案。 但是,更有益的一件事是,如果Gitlab團隊專注於PostgreSQL 11.x兼容性而不是10.x兼容性。 我已經從源代碼中成功地測試了11.x,但是正在等待Gitlab團隊發布。

我很高興您成功了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM