升级GoCD

要从以前版本的GoCD升级,只需要升级服务器。没有必要停止或备份GoCD代理。代理将自动更新GoCD的正确版本。

在开始之前

由于Cruise 1.1 (GoCD的遗留版本),我们不包含Subversion版本控制系统的捆绑版本。这意味着,如果您为您的项目使用Subversion,那么服务器和所有代理都需要在系统路径上安装和使用Subversion。

自从Cruise 1.2(旧版本的Go)以来, 我们不包括ant的捆绑版本. 这意味着,如果您的项目使用ant 服务器和所有代理都需要ant在系统路径上安装和可用.

备份你的数据。

配置备份

作为配置的一部分,需要备份两个文件:

  • GoCD的配置保存在“cruise-config”中。xml文件”

  • 密码加密文件。

基于您的GoCD服务器正在运行的操作系统,这两个文件都可以在:

Operating System Location
Linux /etc/go
Windows [Go install directory]\config
Mac OS X ~/Library/Application Support/Go Server

数据库备份

在对数据库进行备份之前,停止运行服务器是非常重要的。如果GoCD服务器没有停止,备份可能会被损坏。数据库目录将位于以下任何一个位置,基于您正在运行的操作系统:

Operating System Location
Linux /var/lib/go-server/db
Windows [Go install directory]\db
Mac OS X ~/Library/Application Support/Go Server/db

构建构件备份

GoCD服务器充当所有构建工件的存储库。虽然在升级之前备份工件并不重要,但是定期备份这个目录是很好的做法。

您可以配置GoCD存储构建工件的位置。以下是工件的默认位置,如果您没有定制它的位置:

Operating System Location
Linux /var/lib/go-server/artifacts
Windows [Go install directory]\artifacts
Mac OS X ~/Library/Application Support/Go Server/artifacts

升级到新版本。

您不需要停止代理来执行升级。GoCD代理将自动更新软件的正确版本。您不需要升级GoCD代理。任何进展的构建都将被重新安排,现有的管道将按照预期完成。

如果您从2.1版本升级,代理的目录结构将继续被称为“cruiseagent”,不会被重新命名为“go-agent”。这是正常的,不会引起任何问题。

在linux上,您可以忽略任何已登录的权限错误,这是一个预2.1版本的cruise代理升级的一部分。

GoCD将在开始时对其内部数据结构进行升级。这个过程可能需要一些时间来安装大量的历史构建(在非常大的安装上花费10到15分钟)。如果您怀疑升级有问题,请检查go-server。查看是否有报告错误。这是一次性迁移,随后的重新启动将会更快。

Windows

GoCD安装程序运行。确保您指定了与之前安装的版本相同的目录。

如果您更改了GoCD服务器的Windows服务以作为不同的用户运行,您将需要重复此配置更改。

安装程序将自动启动服务。一旦GoCD完成其内部数据更改,您应该能够看到GoCD网页。任何现有的代理都应该自动重新连接。任何进展的构建都应该继续,或者被重新安排。

Linux

基于Debian的发行版(即Ubuntu)

按照描述运行GoCD安装程序

sudo dpkg -i [go-server-package-name]

基于RPM的发行版(即RedHat)

按照描述运行GoCD安装程序。

sudo rpm -U [go-server-package-name]

Macintosh OSX

The Macintosh OSX Go不支持升级。 您应该按照上面的步骤备份您的数据, 卸载Go/Cruise(通过将应用程序拖到垃圾中),然后执行一个新的安装。

笔记

在升级到特定版本的GoCD时,请使用本节中的注释。

Version 2.3

作为2.3升级的一部分,在管道中配置的一种材料的dest属性是不区分大小写的。这意味着如果你有一个管道P1和两个材料,材料M1与dest = "foo",材料M2和dest = "Foo",在升级后,最大的文件夹将自动改为M1 dest = "foo_[random_string]"和M2 dest = "Foo_[random_string]"

results matching ""

    No results matching ""