Ubuntu 18.04 构建环境
Bionic LTS Standard 已被 Canonical 终止支持,请尝试更新到较新的镜像。它将在 Travis CI 中继续使用一段时间,但现在是时候考虑将您的构建迁移到较新的构建环境镜像了。
本指南涵盖的内容 #
本指南概述了 Bionic 环境中可用的包、工具和设置。
使用 Ubuntu 18.04 (Bionic Beaver) #
要将您的构建路由到 Ubuntu 18.04 LTS, Bionic,请将以下内容添加到您的 .travis.yml
中
dist: bionic
与之前发布的镜像相比的差异 #
Travis CI Ubuntu 18.04,Bionic,包含以下更改和改进
已删除第三方 apt 存储库 #
虽然在镜像配置过程中使用了第三方 apt 存储库,但它们都已从 Bionic 构建镜像中删除。这有两个好处:a) 减少了不相关干扰的风险,b) 加快了 apt-get 更新速度。
要指定第三方 apt 存储库,您可以 使用 apt 附加组件添加源 并指定包。例如
dist: bionic
addons:
apt:
sources:
- ppa:chris-lea/redis-server
packages:
- redis-tools
- redis-server
如果您在构建中依赖于这些存储库,您可以使用以下 source
行来恢复它们
包 | 源 |
---|---|
couchdb | https://couchdb.cn/repo/ |
docker | docker |
google-chrome-stable | google-chrome |
git-lfs | github-git-lfs-bionic |
git-ppa | ppa:git-core/ppa |
haskell | ppa:hvr/ghc |
mongodb | mongodb-4.4-bionic |
pollinate | ppa:pollinate/ppa |
默认情况下已禁用服务 #
在基于 Ubuntu 18.04 的环境中,为了加快启动时间并提高性能,我们默认情况下禁用了所有服务。将您要启动的任何服务添加到您的 .travis.yml
中
services:
- mysql
- redis
所有 Ubuntu 18.04 镜像共有的环境 #
所有 Ubuntu 18.04 构建上都存在以下版本的 Docker、版本控制软件和编译器,以及每个语言部分中更详细描述的更多特定于语言的软件。
所有预安装的软件(不包括发行版提供的软件)都是从官方发布版安装的 - 如果可用,则使用预构建的二进制文件,或者使用默认选项构建源代码发布版。对于预安装的语言解释器,如果语言可用,则使用标准版本管理器,例如 rvm
。
版本控制 #
包 | 版本 |
---|---|
git | 2.43.0 |
git-lfs | 2.3.4 |
hg | 5.3 |
svn | 1.9.7 |
编译器和构建工具链 #
- clang 和 llvm 16
- cmake 3.26.3
- gcc 7.5.0
- ccache 3.4.1
- shellcheck 0.10.0
- shfmt 3.8.0
要在 Focal LXD 镜像的 ppc64le
架构下使用 IBM Advance Toolchain v14 编译器,请在您的 .travis.yml
中使用以下路径
- GCC 编译器
- 路径:
/opt/at14.0/bin/gcc
- 命令:
/opt/at14.0/bin/gcc hello_world.c -o hello_world
- 路径:
- g++ 编译器
- 路径:
/opt/at14.0/bin/g++
- 命令:
/opt/at14.0/bin/g++ hello_world.cpp -o hello_world
- 路径:
- Go 编译器
- 路径:
/opt/at14.0/bin/gccgo
- 命令:
/opt/at14.0/bin/gccgo hello_world.go -o hello_world
- 路径:
- Python
- 首先,使用
python_interpreter.sh 脚本
编译 Python 3.8.0。 - Python 解释器路径:
/opt/python380-at14/python3.8
- 构建 Python 命令:
sudo sh python_interpreter.sh
- 首先,使用
要在 Focal LXD 镜像的 amd64
架构下使用 IBM Advance Toolchain v14 编译器,请在您的 .travis.yml
中使用以下路径
- GCC 编译器
- 路径:
/opt/at14.0/bin/powerpc64le-linux-gnu-gcc
- 命令:
/opt/at14.0/bin/powerpc64le-linux-gnu-gcc hello_world.c -o hello_world
- 路径:
- g++ 编译器
- 路径:
/opt/at14.0/bin/powerpc64le-linux-gnu-g++
命令:/opt/at14.0/bin/powerpc64le-linux-gnu-g++ hello_world.cpp -o hello_world
- 路径:
- Go 编译器
- 路径:
/opt/at14.0/bin/powerpc64le-linux-gnu-gccgo
- 命令:
/opt/at14.0/bin/powerpc64le-linux-gnu-gccgo hello_world.go -o hello_world
- 路径:
- Python
- 首先,使用
python_interpreter.sh 脚本
编译 Python 3.8.0。 - Python 解释器路径:
/opt/python380-amd64/python3.8
- 构建 Python 命令:
sudo sh python_interpreter.sh
- 首先,使用
Docker #
- 已安装 Docker 24.0.2
- docker-compose 2.18.1
Ruby 支持 #
- 预安装的 Ruby:
2.5.9
、2.7.6
和3.3.0
。 - 默认的 ruby 是
3.3.0
。 - 其他 ruby 版本可以在构建时安装。
Python 支持 #
- 支持的 Python 版本:
3.6
或更高版本。 - 当没有显式设置语言版本时,将使用 Python
3.12.0
。 - 以下 Python 版本已预安装
别名 | 版本 |
---|---|
3.6 | 3.6.15 |
3.7 | 3.7.17 |
3.8 | 3.8.18 |
3.12 | 3.12.0 |
如果您收到关于 PyPy 的错误 pypy is not installed; attempting download
,请使用较新的版本之一。
JavaScript 和 Node.js 支持 #
- 对于指定
language: node_js
的构建,nvm
会在构建时自动更新到最新版本。对于其他构建,已选择镜像构建时的稳定版本,即 0.10.48。 - 以下 NodeJS 版本已预安装:
20.14.0
、18.20.3
、16.20.2
、16.15.1
、16.15
、12.22.12
、10.24.1
、8.17.0
、6.17.1
和4.9.1
。
Go 支持 #
-
预安装的 Go:
1.18.1
-
通过使用
go:
键指定语言版本,可以在构建时安装其他 Go 版本。
JVM (Clojure, Groovy, Java, Scala) 支持 #
-
预安装的 JVM:x86 上的
openjdk8
、openjdk9
、opnejdk10
和openjdk11
,默认值为openjdk11
。 -
如果可用,可以获取其他 JDK,包括 Oracle 的 JDK,方法是指定
jdk
。 -
下表总结了预安装的 JVM 工具版本
包 | 版本 |
---|---|
gradle | 8.3 |
maven | 3.9.4 |
groovy | 4.0.15 |
Perl 支持 #
- Bionic 上的默认版本是
5.33
- 支持版本
5.32
和5.33
可以使用perl:
键安装。 TAP::Harness
v3.38 和cpanm
(App::cpanminus) 版本 1.7044 也已预安装。
PHP 支持 #
- 对于动态运行时选择,可以使用
phpenv
。 - 以下 PHP 版本已预安装
别名 | 版本 |
---|---|
7.1 | 7.1.33 |
7.2 | 7.2.27 |
7.3 | 7.3.14 |
7.4 | 7.4.2 |
扩展 #
PHP 7.1 及更高版本 #
以下扩展已预安装用于 PHP 7.1 及更高版本构建
- apcu.so
- memcached.so (对于 > PHP8.0 未预安装)
- mongodb.so
- amqp.so
- zmq.so
- xdebug.so
- redis.so
请注意,这些扩展默认情况下未启用,xdebug 除外。
数据库和服务 #
以下服务和数据库已预安装,但默认情况下不运行。要将其中一个用于您的构建,请将其添加到 travis.yml
中的 services 键中。
服务 | 版本 |
---|---|
mongodb | 4.4.29 |
mysql | 5.7.42 |
redis | 7.2.5 |
postgresql | 9.3 9.4 9.5 9.6 10 11 |
其他 Ubuntu Linux 构建环境 #
您可以查看 Ubuntu Linux 概述页面,了解您可以使用的不同 Ubuntu Linux 构建环境。