升级 Travis CI Enterprise 2.x

备份 #

在升级之前,我们**强烈建议**对 /etc/travis/var/travis 进行快照。

一个好方法是运行

  sudo tar -cvzf travis-backup-$(date +%s).tar.gz /var/travis /etc/travis/

如果您对这些步骤有任何疑问或想要进行恢复,请参阅 从备份恢复

加密密钥 #

没有加密密钥,您无法访问生产数据库中的信息。为了确保您始终可以恢复数据库,请备份此密钥。

没有加密密钥,数据库中的信息无法恢复。

要备份 TCIE 2.x 中的加密密钥,请按照以下步骤操作

  1. 打开到平台机器的 SSH 连接。
  2. 通过运行 travis bash,使用 root 权限打开 Travis CI 容器的 bash 会话。
  3. 运行以下命令获取密钥:grep -A1 encryption: /usr/local/travis/etc/travis/config/travis.yml
  4. 通过将之前命令返回的值写在一张纸上或存储在其他计算机上,创建其备份。

更新您的 Travis CI Enterprise 平台 #

您可以通过访问管理界面仪表板 https://<your-travis-ci-enterprise-domain>:8800 并单击“立即检查”按钮来检查新版本。如果有更新可用,您将能够阅读发行说明并安装更新。

安装更新时会有一小段时间停机。出于这个原因,我们建议您在维护窗口期间执行每个更新。

在平台上更新 Replicated #

要更新平台安装中的 Replicated,您需要运行安装脚本,该脚本将下载最新版本。根据您是否位于 Web 代理后面,您需要运行以下之一

  curl -sSL -o /tmp/installer.sh https://enterprise.travis-ci.com/install
  sudo bash /tmp/installer.sh
  curl -sSL -x http://: -o /tmp/installer.sh https://enterprise.travis-ci.com/install
  sudo bash /tmp/installer.sh http-proxy=http://:

要应用特定版本的更新补丁,例如,您当前的版本是 2.9.1,并且想要更新到 2.9.7 的更安全补丁,您需要执行

  curl -sSL "https://get.replicated.com/docker?replicated_tag=2.9.7" | sudo bash

请注意,对于 Ubuntu Bionic,您需要将以下标志添加到 installer.sh 中,如下所示:installer.sh --travis_build_images=bionic

更新您的 Travis CI Enterprise Worker #

在 Ubuntu 16.04 及更高版本上 #

在 Ubuntu 16.04 及更高版本上,travis-worker 位于 Docker 容器内。要更新 travis-worker,请按照以下步骤操作。

  1. 通过编辑 /etc/systemd/system/travis-worker.service.d/env.conf 中的 Docker 标签来配置新镜像
      [Service]
      Environment="TRAVIS_WORKER_SELF_IMAGE=travisci/worker:v4.6.1"
    
  2. 重新加载配置并重启服务
      $ sudo systemctl daemon-reload
      $ sudo systemctl restart travis-worker
    

在 Ubuntu 14.04 上 #

为了更新 Worker,您可以在每个 Worker 主机上运行以下命令

$ sudo apt-get update
$ sudo apt-get install travis-worker

从备份恢复 #

在极少数情况下出现问题或您想要从备份恢复时,请使用以下步骤

  1. 使用 Ubuntu 14.04 的全新安装启动一台替换机器。
  2. 按照 安装指南中的说明操作。如果您找不到,请告知我们 enterprise@travis-ci.com
  3. 设置您的 Travis CI 实例,根据需要填写设置。填写您保存的 RabbitMQ 密码和 Travis 加密密钥。保存设置并启动 Travis 容器。
  4. 在 Replicated 仪表板中停止 Travis CI 容器。
  5. 作为超级用户(为了保留用户权限),解压缩您创建的 Travis 备份,并将目录复制到适当的位置(/var/travis/etc/travis)。
  6. 通过 Replicated 仪表板启动 Travis CI。

请注意,这仍然将您置于 Travis CI Enterprise 的最新版本。回滚策略需要与 Travis CI 团队协调,因为它需要将许可证更改回旧的发布渠道。

联系企业支持 #

要与我们联系,请发送邮件到 enterprise@travis-ci.com。如果可能,请尽可能多地提供以下内容

  • 问题描述 - 您观察到了什么?
  • 您已经尝试了哪些步骤?
  • 支持包(请参见下表如何获取)
  • 所有 Worker 的日志文件(它们位于 /var/log/upstart/travis-worker.log 中 - 请尽可能多地提供)
  • 如果构建失败或出错,则为构建日志的文本文件
TCI Enterprise 版本 支持包
3.x 运行 kubectl kots admin-console -n [namespace] 以在 https://#:8800 上访问管理控制台
支持包生成说明可在“故障排除”菜单中找到,或直接访问:https://#:8800/app/tci-enterprise-kots/troubleshoot

选择后,将出现生成支持包的命令
如果您愿意,[单击此处]() 获取手动生成支持包的命令。
2.x+ 您可以从 https://<your-travis-ci-enterprise-domain>:8800/support 获取

自 2020 年第三季度宣布以来,Travis CI Enterprise 的最新版本是 3.x 系列。版本 2.2 没有新版本发布,自 2021 年 3 月以来,支持补丁也已有限。对于 Travis CI 2.x 的现有用户,我们强烈建议您升级到最新的 Travis CI Enterprise 3.x。

您对设置进行了任何自定义吗?虽然我们可能可以看到一些信息(例如主机名、IaaS 提供商和许可证到期日期),但还有很多其他我们无法看到的信息,这可能导致某些功能无法正常工作。因此,我们想请您在支持请求中也回答以下问题(如果适用)

  • 您使用了几台机器/您的 Kubernetes 集群设置是什么?
  • 您使用配置管理工具(Chef、Puppet)吗?
  • 哪些其他服务与 Travis CI Enterprise 交互?
  • 您与 Travis CI Enterprise 一起使用哪个版本控制系统 (VCS)(例如 github.com、GitHub Enterprise 或 BitBucket Cloud)?
  • 如果您使用的是 GitHub Enterprise,它的版本是多少?

我们期待帮助您!