备份GoCD服务器

您可以使用GoCD的管理界面执行Go的一键式备份。 您还可以执行备份使用API

启动备份的步骤

  • 在GoCD管理页面上,点击备份标签。
  • 点击"BACKUP"
  • 点击 "PROCEED"

    GoCD在备份过程中将不可用

  • 备份时间与数据库和配置大小成正比。 我们建议您在GoCD服务器闲置时备份GoCD。 登录到GoCD仪表板的用户将在备份期间重定向到维护页面。 在备份完成时,他们将被重定向到他们所在的页面。

什么是备份?

备份将在{ARTIFACT_REPOSITORY_LOCATION}/serverBackups目录中执行。 {ARTIFACT_REPOSITORY_LOCATION}为您的服务器可以找到如这里

备份目录将被命名为backup_{TIMESTAMP}其中{TIMESTAMP}是启动备份的时间。

  • 数据库 - 这是一个名为db.zip的zip文件。 该zip有一个名为cruise.h2.db的单个数据库文件
  • 配置 - 这是一个名为config-dir.zip的zip。此zip包含XML配置,Jetty服务器配置,Keystores和所有其他GoCD的内部配置。
  • XML配置版本回购 - 这是一个名为config-repo.zip的zip。 此zip包含XML配置文件的Git存储库。
  • GoCD版本 - 这是一个名为version.txt的文件。 该文件包含启动备份时GoCD服务器的版本

什么是不备份?

请参阅this页面,以查看{SERVER_INSTALLATION_DIR}位置在不同平台上的位置。

以下内容不作为GoCD备份过程的一部分进行备份。 请确保这些手动定期手动备份。

  • 工件 - 请参考本节来了解如何处理工件
  • 测试报告数据 - 位于{SERVER_INSTALLATION_DIR}/db/shine位置。 这包含失败的测试历史报告中使用的数据
  • 环境变量 - 在Windows上,可能为用户和Linux设置的环境变量不会备份对/etc/default/go-server所做的更改。
  • 日志文件

备份工件和测试报告数据的策略

工件和测试报告数据不断获取添加到它们的新文件和目录。 因此,使用rsync将这两个内容复制到备份位置是个不错的主意。

对于实例:可以说你有一个到2012年12月12日的所有文件的副本。 2012年2月20日,您可以执行如下操作:

rsync -avzP {ARTIFACT_LOCATION} {BACKUP_LOCATION}

这确保只有新添加的文件和目录才会同步到{BACKUP_LOCATION},而不是全部内容。

使用备份恢复GoCD

请参阅this)页面,以查看{SERVER_INSTALLATION_DIR}位置在不同平台上的位置。

恢复过程不是自动的,需要手动完成。 请参考前面有关备份内容的部分。

恢复步骤

  • 为了从备份中恢复GoCD服务器,必须先停止服务器。 在开始恢复之前确保该过程完全死亡。
  • 选择要从中还原的备份目录。

    您无法从其版本大于正在使用的GoCD服务器版本的备份进行恢复
    例如: 果备份来自版本12.3,并且服务器安装是版本12.2,则恢复可能不起作用。 您可以从version.txt文件检查备份的版本。

  • 您可能希望保留所有涉及恢复的文件和目录的副本。 如果出现问题,这将有助于排除故障。 在此之后,请确保以下步骤中提到的所有目标目录都是空的。
    例如: 在恢复数据库之前,确保备份{SERVER_INSTALLATION_DIR}/db/h2db并清空目录。

  • 数据库 - 解压在备份目录中找到的db.zip。 解压缩将创建一个名为cruise.h2.db的文件。 将该文件复制到目录{SERVER_INSTALLATION_DIR}/db/h2db
  • 配置 - 将config-dir.zip解压缩到一个临时目录中。 将所有文件从此目录复制到Windows和Mac上的{SERVER_INSTALLATION_DIR}/config目录或Linux上的/etc/go
  • 配置历史记录 - 将config-repo.zip解压缩到临时目录中。 将此目录中的所有内容递归复制到{SERVER_INSTALLATION_DIR}/db/config.git
  • 确保所有恢复的文件的所有权与运行Go服务器的用户相同。
    例如: 确保在数据库恢复后运行 "chown -R go:go {SERVER_INSTALLATION_DIR}/db/h2db" after Database restoration.
  • 启动GoCD服务器

results matching ""

    No results matching ""