Travis CI 教程
这是一份使用 Travis CI 与您的云平台托管代码库的简短指南。如果您不熟悉持续集成,或者想要更多了解 Travis CI 的功能,请先阅读 初学者核心概念。
先决条件 #
要开始使用 Travis CI,请确保您拥有
要开始使用 Travis CI 与 GitHub #
-
转到 Travis-ci.com 并 使用 GitHub 注册。
-
接受 Travis CI 的授权。您将被重定向到 GitHub。如果您对 Travis CI GitHub 授权 OAuth 应用程序访问权限消息有任何疑问,请阅读更多详细信息 下方
-
点击您 Travis 仪表板右上角的个人资料图片,点击设置,然后点击绿色的激活按钮,选择您要与 Travis CI 一起使用的存储库。
或者,点击入门页面上的使用 GitHub 应用激活所有存储库按钮,以激活所有存储库。
-
向您的存储库添加
.travis.yml
文件,以告诉 Travis CI 该做什么。以下示例指定了一个 Ruby 项目,应该使用 Ruby 2.2 和最新版本的 JRuby 进行构建。
language: ruby rvm: - 2.2 - jruby
Ruby 项目的默认值为
bundle install
以 安装依赖项,以及rake
以构建项目。 -
将
.travis.yml
文件添加到 git 中,提交并推送以触发 Travis CI 构建。Travis 仅在您在添加
.travis.yml
文件后推送的提交上运行构建。 -
检查构建状态页面,以查看您的构建根据构建命令的返回值 是否通过或失败,方法是访问 Travis CI 并选择您的存储库。
Travis CI GitHub OAuth 应用程序访问权限 #
当您第一次使用 GitHub 登录 travis-ci.com 时,您将收到来自 GitHub 的一条消息,内容为
travis-pro 的 Travis CI 想要访问您的 [帐户名] 帐户。
在存储库部分,它将说明
此应用程序将能够读取和写入所有公共和私有存储库数据。
但这并不是 Travis CI 访问您数据的实际方式,我们稍后会在流程中解释。
由于 Travis CI 使用的 GitHub OAuth 应用程序权限以及可用权限范围的粒度(请参阅 GitHub OAuth 应用程序范围文档),因此会触发此警告。
Travis CI 默认情况下不会访问您所有的存储库.
确认访问权限后,您将在 GitHub 授权 OAuth 应用程序列表 中看到 Travis CI OAuth 应用程序,但是您需要在您的 travis-ci.com 帐户中明确配置 Travis CI 具有访问权限的存储库。在激活 Travis CI 以使用您的存储库时,进行此配置。您可以在激活过程中使用“所有存储库”选项或“仅选择存储库”选项。
Travis CI 激活完成后,您将在 已安装的 GitHub 应用程序 部分看到实际的 Travis CI GitHub 应用程序。
Travis CI 以以下方式使用 OAuth 权限
1) Travis CI 的系统将某些元数据与 GitHub 同步。此元数据对于服务正常运行是必需的。特别是,我们将同步用户、组织、成员资格、存储库、权限以及(可选)分支。这种类型的同步要么按计划每天进行一次,要么按用户的请求进行。您可以在 此存储库中 找到更多信息和源代码。
2) 为了运行构建,Travis CI 的系统会将触发构建的存储库从 GitHub 克隆到构建环境中。构建环境是一个隔离的虚拟机或 LXD 容器,该容器在构建完成后会被终止。克隆仅在构建请求后发生,因此仅发生在明确在 GitHub 设置中启用的存储库中。
3) 为了设置构建环境并准备构建,Travis CI 的系统会从 GitHub 触发构建请求中明确指定的存储库和分支中获取和处理 .travis.yml
配置文件。
4) Travis CI 的系统通过其 Checks API 将构建结果报告回 GitHub。
阅读更多内容:Travis CI 使用的 GitHub 权限。
要开始使用 Travis CI 与 Assembla #
本部分记录了目前处于测试阶段的新的 Assembla 选项。
-
转到 Travis-ci.com 并 使用 Assembla 注册。
-
接受 Travis CI 的授权。您将被重定向到 Assembla。
-
点击您 Travis 仪表板右上角的个人资料图片,点击设置,并切换您要与 Travis CI 一起使用的存储库。
-
在您的存储库中创建一个
.travis.yml
文件,以告诉 Travis CI 该做什么。以下示例指定了一个 Ruby 项目,应该使用 Ruby 2.2 和最新版本的 JRuby 进行构建。
language: ruby rvm: - 2.2 - jruby
Ruby 项目的默认值为
bundle install
以 安装依赖项,以及rake
以构建项目。 - 将
.travis.yml
文件添加到存储库中的特定位置。- Git 存储库:在存储库的根目录中(
main
和分支)。 - SVN 存储库
- 在
/trunk/
中(默认值为/trunk/.travis.yml
),用于在提交到trunk
后运行构建。 - 在
/branches/<branch name>/
中(例如,/branches/abc/.travis.yml
,用于名为abc
的分支),用于在提交到特定分支后运行构建。
- 在
- P4 (Perforce Helix Core) 存储库
- 在
/<depotname>/main/
中(默认值为/depot/main/.travis.yml
),用于在提交到/<depotname>/main
后运行构建。 - 在与特定流相应的目录中
/depot/<stream name>/
.travis.yml(例如,/depot/abc/.travis.yml
,用于流abc
),用于在提交到特定流后运行构建。
- 在
- Git 存储库:在存储库的根目录中(
-
提交并推送/提交以触发 Travis CI 构建。
Travis 仅在您在添加
.travis.yml
文件后推送的提交上运行构建。 - 检查构建状态页面,以查看您的构建根据构建命令的返回值 是否通过或失败,方法是访问 Travis CI 并选择您的存储库。
重要提示
Perforce depot/存储库可能非常大,因此完全下载它以进行构建(例如,数 TB 的数据)通常是不必要的,因为要构建/测试的源代码只是整个 depot 大小的一个很小部分。为了部分下载它,Travis CI 用户必须定义一个特定的子路径,该路径随后将由 Travis CI 构建作业下载。可以使用 .travis.yml
文件中的 perforce_test_path
标签来定义这些子路径。如果未提供该属性,则默认行为是下载整个 depot/存储库。请参阅以下示例以供参考。
dist: focal
language: ruby
rvm:
- 2.2
- jruby
perforce_test_path: /your/subpath/within/repository/which/will/be/downloaded
目前,Perforce 和 SVN 构建 **仅适用于 Linux Ubuntu** 和标准 amd64 CPU 架构构建环境,从 Bionic Beaver Ubuntu 发行版开始。
Assembla 的 Travis CI 访问权限 #
了解更多信息:Travis CI 使用的 Assembla 权限。
使用 Bitbucket 开始使用 Travis CI #
本节介绍目前处于 beta 阶段的全新 Bitbucket 选项。
-
访问 Travis-ci.com 并 使用 Bitbucket 注册。
-
接受 Travis CI 的授权。您将被重定向到 Bitbucket。
-
点击您 Travis 仪表板右上角的个人资料图片,点击设置,并切换您要与 Travis CI 一起使用的存储库。
-
向您的存储库添加
.travis.yml
文件,以告诉 Travis CI 该做什么。以下示例指定了一个 Ruby 项目,应该使用 Ruby 2.2 和最新版本的 JRuby 进行构建。
language: ruby rvm: - 2.2 - jruby
Ruby 项目的默认值为
bundle install
以 安装依赖项,以及rake
以构建项目。 -
将
.travis.yml
文件添加到 git 中,提交并推送以触发 Travis CI 构建。Travis 仅在您在添加
.travis.yml
文件后推送的提交上运行构建。 -
检查构建状态页面,以查看您的构建根据构建命令的返回值 是否通过或失败,方法是访问 Travis CI 并选择您的存储库。
BitBucket 的 Travis CI 访问权限 #
了解更多信息:Travis CI 使用的 BitBucket 权限。
使用 GitLab 开始使用 Travis CI #
本节介绍目前处于 beta 阶段的全新 GitLab 选项。
-
访问 Travis-ci.com 并 使用 GitLab 注册。
-
接受 Travis CI 的授权。您将被重定向到 GitLab。
-
点击您 Travis 仪表板右上角的个人资料图片,点击设置,并切换您要与 Travis CI 一起使用的存储库。
-
向您的存储库添加
.travis.yml
文件,以告诉 Travis CI 该做什么。以下示例指定了一个 Ruby 项目,应该使用 Ruby 2.2 和最新版本的 JRuby 进行构建。
language: ruby rvm: - 2.2 - jruby
Ruby 项目的默认值为
bundle install
以 安装依赖项,以及rake
以构建项目。 -
将
.travis.yml
文件添加到 git 中,提交并推送以触发 Travis CI 构建。Travis 仅在您在添加
.travis.yml
文件后推送的提交上运行构建。 -
检查构建状态页面,以查看您的构建根据构建命令的返回值 是否通过或失败,方法是访问 Travis CI 并选择您的存储库。
GitLab 的 Travis CI 访问权限 #
了解更多信息:Travis CI 使用的 GitLab 权限。
切换账户 #
您可以轻松地在云平台提供商帐户之间切换
-
在 Travis-ci.com 的右上角,点击您的账户图标。
-
选择所需的帐户,尽情使用 Travis CI。
选择不同的编程语言 #
使用以下常见语言之一
language: ruby
language: java
language: node_js
language: python
language: php
language: go
如果您的测试需要在 macOS 上运行,或者您的项目使用 Swift 或 Objective-C,请使用我们的 macOS 环境
os: osx
如果您在 Mac 上开发,您不需要使用 macOS。仅当您需要 Swift、Objective-C 或其他 macOS 特定软件时,才需要使用 macOS。
Travis CI 支持多种 编程语言。
不止运行测试 #
Travis CI 不仅仅用于运行测试。您还可以使用您的代码来做很多其他事情
进一步阅读 #
了解更多关于