Travis CI 教程

这是一份使用 Travis CI 与您的云平台托管代码库的简短指南。如果您不熟悉持续集成,或者想要更多了解 Travis CI 的功能,请先阅读 初学者核心概念

先决条件 #

要开始使用 Travis CI,请确保您拥有

要开始使用 Travis CI 与 GitHub #

  1. 转到 Travis-ci.com使用 GitHub 注册

  2. 接受 Travis CI 的授权。您将被重定向到 GitHub。如果您对 Travis CI GitHub 授权 OAuth 应用程序访问权限消息有任何疑问,请阅读更多详细信息 下方

  3. 点击您 Travis 仪表板右上角的个人资料图片,点击设置,然后点击绿色的激活按钮,选择您要与 Travis CI 一起使用的存储库。

或者,点击入门页面上的使用 GitHub 应用激活所有存储库按钮,以激活所有存储库。

  1. 向您的存储库添加 .travis.yml 文件,以告诉 Travis CI 该做什么。

    以下示例指定了一个 Ruby 项目,应该使用 Ruby 2.2 和最新版本的 JRuby 进行构建。

    language: ruby
    rvm:
     - 2.2
     - jruby
    

    Ruby 项目的默认值为 bundle install安装依赖项,以及 rake 以构建项目。

  2. .travis.yml 文件添加到 git 中,提交并推送以触发 Travis CI 构建。

    Travis 仅在您在添加 .travis.yml 文件推送的提交上运行构建。

  3. 检查构建状态页面,以查看您的构建根据构建命令的返回值 是否通过或失败,方法是访问 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 选项。

  1. 转到 Travis-ci.com使用 Assembla 注册

  2. 接受 Travis CI 的授权。您将被重定向到 Assembla。

  3. 点击您 Travis 仪表板右上角的个人资料图片,点击设置,并切换您要与 Travis CI 一起使用的存储库。

  4. 在您的存储库中创建一个 .travis.yml 文件,以告诉 Travis CI 该做什么。

    以下示例指定了一个 Ruby 项目,应该使用 Ruby 2.2 和最新版本的 JRuby 进行构建。

    language: ruby
    rvm:
     - 2.2
     - jruby
    

    Ruby 项目的默认值为 bundle install安装依赖项,以及 rake 以构建项目。

  5. .travis.yml 文件添加到存储库中的特定位置。
    1. Git 存储库:在存储库的根目录中(main 和分支)。
    2. SVN 存储库
      1. /trunk/ 中(默认值为 /trunk/.travis.yml),用于在提交到 trunk 后运行构建。
      2. /branches/<branch name>/ 中(例如,/branches/abc/.travis.yml,用于名为 abc 的分支),用于在提交到特定分支后运行构建。
    3. P4 (Perforce Helix Core) 存储库
      1. /<depotname>/main/ 中(默认值为 /depot/main/.travis.yml),用于在提交到 /<depotname>/main 后运行构建。
      2. 在与特定流相应的目录中 /depot/<stream name>/.travis.yml(例如,/depot/abc/.travis.yml,用于流 abc),用于在提交到特定流后运行构建。
  6. 提交并推送/提交以触发 Travis CI 构建。

    Travis 仅在您在添加 .travis.yml 文件推送的提交上运行构建。

  7. 检查构建状态页面,以查看您的构建根据构建命令的返回值 是否通过或失败,方法是访问 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 选项。

  1. 访问 Travis-ci.com使用 Bitbucket 注册

  2. 接受 Travis CI 的授权。您将被重定向到 Bitbucket。

  3. 点击您 Travis 仪表板右上角的个人资料图片,点击设置,并切换您要与 Travis CI 一起使用的存储库。

  4. 向您的存储库添加 .travis.yml 文件,以告诉 Travis CI 该做什么。

    以下示例指定了一个 Ruby 项目,应该使用 Ruby 2.2 和最新版本的 JRuby 进行构建。

    language: ruby
    rvm:
     - 2.2
     - jruby
    

    Ruby 项目的默认值为 bundle install安装依赖项,以及 rake 以构建项目。

  5. .travis.yml 文件添加到 git 中,提交并推送以触发 Travis CI 构建。

    Travis 仅在您在添加 .travis.yml 文件推送的提交上运行构建。

  6. 检查构建状态页面,以查看您的构建根据构建命令的返回值 是否通过或失败,方法是访问 Travis CI 并选择您的存储库。

BitBucket 的 Travis CI 访问权限 #

了解更多信息:Travis CI 使用的 BitBucket 权限

使用 GitLab 开始使用 Travis CI #

本节介绍目前处于 beta 阶段的全新 GitLab 选项。

  1. 访问 Travis-ci.com使用 GitLab 注册

  2. 接受 Travis CI 的授权。您将被重定向到 GitLab。

  3. 点击您 Travis 仪表板右上角的个人资料图片,点击设置,并切换您要与 Travis CI 一起使用的存储库。

  4. 向您的存储库添加 .travis.yml 文件,以告诉 Travis CI 该做什么。

    以下示例指定了一个 Ruby 项目,应该使用 Ruby 2.2 和最新版本的 JRuby 进行构建。

    language: ruby
    rvm:
     - 2.2
     - jruby
    

    Ruby 项目的默认值为 bundle install安装依赖项,以及 rake 以构建项目。

  5. .travis.yml 文件添加到 git 中,提交并推送以触发 Travis CI 构建。

    Travis 仅在您在添加 .travis.yml 文件推送的提交上运行构建。

  6. 检查构建状态页面,以查看您的构建根据构建命令的返回值 是否通过或失败,方法是访问 Travis CI 并选择您的存储库。

GitLab 的 Travis CI 访问权限 #

了解更多信息:Travis CI 使用的 GitLab 权限

切换账户 #

您可以轻松地在云平台提供商帐户之间切换

  1. Travis-ci.com 的右上角,点击您的账户图标。

  2. 选择所需的帐户,尽情使用 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 不仅仅用于运行测试。您还可以使用您的代码来做很多其他事情

进一步阅读 #

了解更多关于