从 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 上运行
在 Xenial 上运行的作业会显示操作系统详细信息,描述:Ubuntu 16.04.5 LTS 您可以在 Xenial 参考文档 中找到预安装内容的具体版本。
如果您的构建依赖于其他 Ubuntu 发行版(如 Ubuntu Trusty 14.04),您可以显式指定
dist: trusty
以确保您的构建将使用它。