从 Ubuntu Trusty 迁移到 Ubuntu Xenial 的指南

截至 2019 年 8 月 13 日,我们已将 Travis CI 上的默认 Linux 发行版从 Ubuntu Trusty 14.04 LTS 切换到 Ubuntu Xenial 16.04。以下是我们的客户遇到的最常见问题以及解决方法。

如果您想继续使用 Ubuntu Trusty 或需要更多时间来设置使用 Ubuntu Trusty 的存储库,请尽快在您的 .travis.yml 文件中显式设置 dist: trusty

这对您的项目意味着什么? #

如果存储库的 .travis.yml 文件中没有显式的 dist: YAML 键,则将路由到 Xenial 而不是 Trusty。

如果存储库的 travis.yml 文件中没有显式的操作系统 os: 键,则将使用 Linux Ubuntu Xenial 16.04。

从我们的 Trusty 构建环境更新到 Xenial 时,需要考虑三个重要更改

1. 服务支持 #

默认情况下不会启动诸如 MySQL 或 PostgreSQL 之类的服务。要启动任何服务(例如 MySQL),请将其添加到配置中的 services 键中

  services:
    - mysql

当您尝试运行 PostgreSQL 并遇到内存问题时,例如运行 sudo df -h 并从挂载点获取输出;

none            768M  768M     0 100% /var/ramfs

尝试将以下代码行添加到您的 .travis.yml

before_install: sudo mount -o remount,size=50% /var/ramfs

2. 第三方 APT 源 #

已删除第三方 APT 存储库中的源。在 Xenial 镜像预配期间,第三方 APT 存储库用于预安装诸如 redis-server 之类的服务。这些软件包在构建时可用,但为了降低 apt-get update 失败的风险,在安装软件包后会删除存储库。

例如,要更新 git-lfs 版本,您需要在配置中显式指定源

您可以在此处找到已使用并安装然后删除的源的完整列表 这里

addons:
  apt:
    sources:
    	- github-git-lfs-xenial
    packages:
    	- git-lfs

3. 无头浏览器测试 #

要使用无头浏览器测试,您现在可以通过 services 键启动 xvfb,如下所示

services:
  - xvfb

如果您在 Trusty 构建中手动配置了 xvfb,请将其替换为上面的 services 键,这也有助于维护!

回顾! #

默认构建环境为 Ubuntu Xenial 16.04。您可以通过检查构建日志(在操作系统详细信息中,例如)来确定您的存储库是否现在在 Xenial 上运行

OS details

在 Xenial 上运行的作业会显示操作系统详细信息,描述:Ubuntu 16.04.5 LTS 您可以在 Xenial 参考文档 中找到预安装内容的具体版本。

如果您的构建依赖于其他 Ubuntu 发行版(如 Ubuntu Trusty 14.04),您可以显式指定 dist: trusty 以确保您的构建将使用它。

需要帮助? #

请随时通过我们的 支持 电子邮件地址与我们联系,或创建 论坛主题